{ "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 API", "version": "v1", "x-logo": { "altText": "Clockify logo", "url": "https://clockify.me/downloads/clockify_logo_primary_black_margin.png" } }, "tags": [ { "name": "User", "x-displayName": "User" }, { "name": "backend-app", "x-displayName": "backend-app" }, { "name": "Workspace", "x-displayName": "Workspace" }, { "name": "Webhooks", "x-displayName": "Webhooks" }, { "name": "Approval", "x-displayName": "Approval" }, { "name": "Client", "x-displayName": "Client" }, { "name": "Custom fields", "x-displayName": "Custom fields" }, { "name": "Entity changes (Experimental)", "x-displayName": "Entity changes (Experimental)", "description": "For use case see [Entity Changes Use Cases](#tag/Entity-Changes:-Use-cases)" }, { "name": "Expense", "x-displayName": "Expense" }, { "name": "Holiday", "x-displayName": "Holiday" }, { "name": "Invoice", "x-displayName": "Invoice" }, { "name": "Project", "x-displayName": "Project" }, { "name": "Task", "x-displayName": "Task" }, { "name": "Scheduling", "x-displayName": "Scheduling" }, { "name": "Tag", "x-displayName": "Tag" }, { "name": "Template (Deprecated)", "x-displayName": "Template (Deprecated)", "description": "This endpoint group is deprecated and should not be used." }, { "name": "Time entry", "x-displayName": "Time entry" }, { "name": "Balance", "x-displayName": "Balance" }, { "name": "Policy", "x-displayName": "Policy" }, { "name": "Time Off", "x-displayName": "Time Off" }, { "name": "Group", "x-displayName": "Group" }, { "name": "Shared Report", "x-displayName": "Shared Report" }, { "name": "reports-app", "x-displayName": "reports-app" }, { "name": "Team Report", "x-displayName": "Team Report" }, { "name": "Time Entry Report", "x-displayName": "Time Entry Report" }, { "name": "Expense Report", "x-displayName": "Expense Report" }, { "name": "Audit Log Report", "x-displayName": "Audit Log Report" }, { "name": "auditlog-api-app", "x-displayName": "auditlog-api-app" }, { "name": "Entity Changes: Use cases", "description": "This section provides a step-by-step guide that shows you how to use the Entity Changes API to keep your system up to date with time entry data, including custom field values, without re-downloading everything each time.\n\n> ### 💡 Note\n> Currently, this guide covers only one use case (custom field changes), but we plan to add more in the future. \n\n# Use Case: Keep Custom Field Values in Sync - Entity Changes Based on Detailed Report\n\nThis use case describes how to retrieve a full set of data (via the Detailed Report), then use incremental updates of custom fields or [other supported types](#tag/Entity-Changes:-Use-cases/Use-Case:-Keep-Custom-Field-Values-in-Sync-Entity-Changes-Based-on-Detailed-Report/Supported-types) to stay in sync, including new, updated or deleted records. \n\n## Step 1: Get Initial Data Using the Detailed Report\n\nStart by fetching time entries for a specified date range using the Detailed Report API. This is your baseline data (base dataset). \n\nBelow is an example that fetches data from `May 1 to May 20, 2025`.\n\nExample: Get data from May 1 to May 20, 2025.\n\n * **Use the `curl` command below:**\n```\ncurl --location 'https://{API_BASE_URL}/report/workspaces/{WORKSPACE_ID}/reports/detailed' \\\n--header 'Accept: application/json' \\\n--data '{\n \"dateRangeStart\": \"2025-05-01T00:00:00.000Z\",\n \"dateRangeEnd\": \"2025-05-20T23:59:59.999Z\"\n}'\n```\n\n * **Sample response:**\n```json\n {\n \"timeentries\": [\n {\n \"_id\": \"1\",\n \"description\": \"Time entry 1\",\n \"timeInterval\": {\n \"start\": \"2025-05-18T01:00:00Z\",\n \"end\": \"2025-05-18T09:00:00.000Z\"\n },\n \"customFields\": [\n {\n \"customFieldId\": \"6808e9a6b77db953ea0d3f73\",\n \"value\": \"custom field value 1\"\n }\n ]\n },\n {\n \"_id\": \"2\",\n \"description\": \"Time entry 2\",\n \"timeInterval\": {\n \"start\": \"2025-05-19T01:00:00Z\",\n \"end\": \"2025-05-19T09:00:00.000Z\"\n },\n \"customFields\": [\n {\n \"customFieldId\": \"6808e9a6b77db953ea0d3f73\",\n \"value\": \"Custom field value 2\"\n }\n ]\n }\n ]\n }\n```\n\nThe response contains a list of time entries with all current custom field values. \nSave this in your database. You’ll use it to apply future changes\n\n> ### 💡 Note\n> After this, you don’t need to fetch the full report again. Simply use the following steps to apply the changes. \n\n## Step 2: Retrieve Created Custom Field Values\n\nFetch any new custom field values added after the date range you fetched in Step 1.\n\nExample: Get newly created values after May 20, 2025.\n\n> ### 💡 Note\n> For the API specification see [Created entities - Custom field values ](#tag/Entity-changes-(Experimental)/operation/getCreatedEntityInfo)\n\n\n* **Use the `curl` command below:**\n\n```bash\ncurl -X GET \"https://{API_BASE_URL}/v1/workspaces/{WORKSPACE_ID}/entities/created?type=TIME_ENTRY_CUSTOM_FIELD_VALUE&start=2025-05-21T00:00:00Z&end=2025-05-22T00:00:00Z&limit=30&page=1\"\n```\n* **Sample response:**\n```json\n [\n {\n \"auditMetadata\": {\n \"updatedAt\": \"2025-05-21T04:00:00Z\",\n \"createdAt\": \"2025-05-21T03:00:00Z\"\n },\n \"documentType\": \"TIME_ENTRY_CUSTOM_FIELD_VALUE\",\n \"id\": \"...\",\n \"customFieldId\": \"6808e9a6b77db953ea0d3f85\",\n \"timeEntryId\": \"3\",\n \"value\": \"Custom field value 3\"\n \"sourceType\": \"TIMEENTRY\"\n }\n ]\n```\n\nThe response shows only newly created custom field values. \n\nEach record has a timeEntryId, so you know which entry to update.\n\nAdd these new values to your stored data.\n\n> ### 💡 Note\n> Run this daily, weekly, or as often as your app needs updates.\n\n\n## Step 3: Retrieve Updated Custom Field Values\n**Next**, fetch custom field values that were updated after your original data.\n\nExample: Get updates after May 20, 2025.\n\n> ### 💡 Note\n> For API specification see [Updated entities - Custom field values ](#tag/Entity-changes-(Experimental)/operation/getUpdatedEntityInfo) \n\n * **Use the `curl` command below:**\n\n\n```bash\ncurl -X GET \"https://{API_BASE_URL}/v1/workspaces/{WORKSPACE_ID}/entities/updated?type=TIME_ENTRY_CUSTOM_FIELD_VALUE&start=2025-05-21T00:00:00Z&end=2025-05-22T00:00:00Z&limit=30&page=1\"\n```\n* **Sample response:**\n```json\n [\n {\n \"auditMetadata\": {\n \"updatedAt\": \"2025-05-21T04:51:20Z\",\n \"createdAt\": \"2025-05-19T04:51:10Z\"\n },\n \"documentType\": \"TIME_ENTRY_CUSTOM_FIELD_VALUE\",\n \"id\": \"...\",\n \"customFieldId\": \"6808e9a6b77db953ea0d3f73\",\n \"timeEntryId\": \"2\",\n \"value\": \"Custom field value 2 - Updated\"\n \"sourceType\": \"TIMEENTRY\"\n }\n ]\n```\nThe response shows only updated values within the specified date range. \n\nUpdates are linked to their timeEntryId.\n\nUpdate the matching records in your database.\n\n> ### 💡 Note\n> If a record was both created and updated in the same date range, it will only appear in the /created response, not /updated.\n\n## Step 4: Retrieve or Identify Deleted Custom Field Values\nFinally, handle deletions. Use this step to retrieve any custom field values that were deleted after your initial date range and remove them from your own database. \n\nExample: Get deletions after May 20, 2025.\n\n> ### 💡 Note\n> For more information about this API, see [Deleted entities - Custom field values ](#tag/Entity-changes-(Experimental)/operation/getDeletedEntityInfo)\n\n* **Use the `curl` command below:**\n```\ncurl -X GET \"https://{API_BASE_URL}/v1/workspaces/{WORKSPACE_ID}/entities/deleted?type=TIME_ENTRY_CUSTOM_FIELD_VALUE&start=2025-05-21T00:00:00Z&end=2025-05-22T00:00:00Z&limit=30&page=1\"\n```\n\n* **Sample response:**\n```json\n [\n {\n \"id\": \"...\",\n \"deletionBinId\": \"....\",\n \"deletedAt\": \"2025-05-21T23:15:54.790Z\",\n \"documentType\": \"TIME_ENTRY_CUSTOM_FIELD_VALUE\",\n \"document\": {\n \"customFieldId\": \"6808e9a6b77db953ea0d3f73\",\n \"timeEntryId\": \"1\",\n \"value\": \"custom field value 1\",\n \"sourceType\": \"TIMEENTRY\"\n }\n }\n ]\n```\n\nThe response contains references to the deleted values (e.g. timeEntryId and field ID). \n\nRemove or archive these records in your system.\n\n> ### 💡 Note \n> If a value was created and deleted in the same date range, it will not show up in the deleted results.\n\n## Supported types\n\n This guide focuses on tracking custom field values `(type=TIME_ENTRY_CUSTOM_FIELD_VALUE)`.\n\n The same approach can be applied to other data types. Simply change the type parameter in your requests and you can use the same steps for all supported types:\n\n * `TIME_ENTRY`\n * `TIME_ENTRY_RATE`\n * `TIME_ENTRY_CUSTOM_FIELD_VALUE`\n\n We may support more types in the future as the system evolves.\n", "x-displayName": "Entity Changes: Use cases" }, { "name": "Scheduling (Deprecated)", "x-displayName": "Scheduling (Deprecated)", "description": "This endpoint group contains deprecated endpoints from the [Scheduling](#tag/Scheduling) endpoint group." }, { "name": "Workspace (Deprecated)", "x-displayName": "Workspace (Deprecated)", "description": "This endpoint group contains deprecated endpoints from the [Workspace](#tag/Workspace) endpoint group." } ], "paths": { "/v1/file/image": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "uploadImage", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "description": "Image to be uploaded", "format": "binary" } }, "required": [ "file" ] } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UploadFileResponseV1" } } }, "description": "OK" } }, "summary": "Add a photo", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/user": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getLoggedUser", "parameters": [ { "description": "If set to true, memberships will be included.", "example": true, "in": "query", "name": "include-memberships", "required": false, "schema": { "type": "boolean", "description": "If set to true, memberships will be included.", "example": true, "default": false } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDtoV1" } } }, "description": "OK" } }, "security": [ { "MarketplaceKeyAuth": [] }, { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ], "summary": "Get currently logged-in user's info", "tags": [ "User" ] } }, "/v1/workspaces": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getWorkspacesOfUser", "parameters": [ { "description": "If provided, you'll get a filtered list of workspaces where you have any of the specified roles. Owners are not counted as admins when filtering.", "example": [ "WORKSPACE_ADMIN", "OWNER" ], "in": "query", "name": "roles", "required": false, "schema": { "type": "string", "enum": [ "WORKSPACE_ADMIN", "OWNER", "TEAM_MANAGER", "PROJECT_MANAGER" ] } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } } }, "description": "OK" } }, "security": [ { "MarketplaceKeyAuth": [] }, { "ApiKeyAuth": [] } ], "summary": "Get all my workspaces", "tags": [ "Workspace" ] }, "post": { "operationId": "createWorkspace", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWorkspaceRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "Created" } }, "security": [ { "ApiKeyAuth": [] } ], "summary": "Add a workspace", "tags": [ "Workspace" ] } }, "/v1/workspaces/{workspaceId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getWorkspaceOfUser", "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Get workspace info", "tags": [ "Workspace" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/addons/{addonId}/webhooks": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getAddonWebhooks", "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 addon identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "addonId", "required": true, "schema": { "type": "string", "description": "Represents an addon identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhooksDtoV1" } } }, "description": "OK" } }, "summary": "Get all webhooks for addon on a workspace", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/approval-requests": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getApprovalRequests", "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": "Filters results based on the provided approval state.", "example": "PENDING", "in": "query", "name": "status", "required": false, "schema": { "type": "string", "enum": [ "PENDING", "APPROVED", "WITHDRAWN_APPROVAL" ] } }, { "description": "Represents the column name to be used as sorting criteria.", "example": "START", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "USER_ID", "START", "UPDATED_AT" ] } }, { "description": "Represents the sorting order.", "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/ApprovalDetailsDtoV1" } } } }, "description": "OK" } }, "summary": "Get approval requests", "tags": [ "Approval" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createApprrovalRequest", "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/CreateApprovalRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApprovalRequestDtoV1" } } }, "description": "Created" } }, "summary": "Submit approval request", "tags": [ "Approval" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/approval-requests/resubmit-entries-for-approval": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "resubmitApprovalRequest", "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/CreateApprovalRequest" } } }, "required": true }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ApprovalRequestDtoV1" } } }, "description": "OK" } }, "summary": "Submit non pending/approved entries/expenses for approval to an existing approval request", "tags": [ "Approval" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/approval-requests/users/{userId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "createApprovalForOther", "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApprovalRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApprovalRequestDtoV1" } } }, "description": "Created" } }, "summary": "Submit an approval request for a user", "tags": [ "Approval" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/approval-requests/users/{userId}/resubmit-entries-for-approval": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "resubmitApprovalRequestForOther", "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApprovalRequest" } } }, "required": true }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ApprovalRequestDtoV1" } } }, "description": "OK" } }, "summary": "Re-submit rejected/withdrawn entries/expenses for an approval of a user", "tags": [ "Approval" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/approval-requests/{approvalRequestId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "operationId": "updateApprovalStatus", "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 approval request identifier across the system.", "example": "940ab5acb07987125438b65y", "in": "path", "name": "approvalRequestId", "required": true, "schema": { "type": "string", "description": "Represents an approval request identifier across the system.", "example": "940ab5acb07987125438b65y" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateApprovalRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApprovalRequestDtoV1" } } }, "description": "OK" } }, "summary": "Update an approval request", "tags": [ "Approval" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/clients": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getClients", "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": "Filters client results that matches with the string provided in their client name.", "example": "Client X", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "Filters client results that matches with the string provided in their client name.", "example": "Client X" } }, { "description": "Column name that will be used as criteria for sorting results.", "example": "NAME", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "description": "Column name that will be used as criteria for sorting results.", "example": "NAME", "default": "NAME" } }, { "description": "Sorting mode", "example": "ASCENDING", "in": "query", "name": "sort-order", "required": false, "schema": { "type": "string" } }, { "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": "Filter whether to include archived clients or not.", "example": false, "in": "query", "name": "archived", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ClientWithCurrencyDtoV1" } } } }, "description": "OK" } }, "summary": "Find clients on a workspace", "tags": [ "Client" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createClient", "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/CreateClientRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientWithCurrencyDtoV1" } } }, "description": "Created" } }, "summary": "Add a new client", "tags": [ "Client" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/clients/{id}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteClient", "parameters": [ { "description": "Represents a client identifier across the system.", "example": "44a687e29ae1f428e7ebe305", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a client identifier across the system.", "example": "44a687e29ae1f428e7ebe305" } }, { "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientDtoV1" } } }, "description": "OK" } }, "summary": "Delete a client", "tags": [ "Client" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getClient", "parameters": [ { "description": "Represents a client identifier across the system.", "example": "44a687e29ae1f428e7ebe305", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a client identifier across the system.", "example": "44a687e29ae1f428e7ebe305" } }, { "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientWithCurrencyDtoV1" } } }, "description": "OK" } }, "summary": "Get a client by ID", "tags": [ "Client" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateClient", "parameters": [ { "description": "Represents a client identifier across the system.", "example": "44a687e29ae1f428e7ebe305", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a client identifier across the system.", "example": "44a687e29ae1f428e7ebe305" } }, { "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" } }, { "in": "query", "name": "archive-projects", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "mark-tasks-as-done", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateClientRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientDtoV1" } } }, "description": "OK" } }, "summary": "Update a client", "tags": [ "Client" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/cost-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "setWorkspaceCostRate", "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/CostRateRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Update workspace cost rate", "tags": [ "Workspace" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/custom-fields": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "ofWorkspace", "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, you'll get a filtered list of custom fields that contain the provided string in their name.", "example": "location", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of custom fields that contain the provided string in their name.", "example": "location" } }, { "description": "If provided, you'll get a filtered list of custom fields that matches the provided string with the custom field status.", "example": "VISIBLE", "in": "query", "name": "status", "required": false, "schema": { "type": "string", "enum": [ "INACTIVE", "VISIBLE", "INVISIBLE" ] } }, { "description": "If provided, you'll get a filtered list of custom fields that matches the provided string with the custom field entity type.", "example": [ "TIMEENTRY", "USER" ], "in": "query", "name": "entity-type", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldDtoV1" } } } }, "description": "OK" } }, "summary": "Get custom fields on a workspace", "tags": [ "Custom fields" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "create", "parameters": [ { "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomFieldRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/CustomFieldDtoV1" } } }, "description": "Created" } }, "summary": "Create custom fields on a workspace", "tags": [ "Custom fields" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/custom-fields/{customFieldId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "delete", "parameters": [ { "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, { "description": "Represents custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101", "in": "path", "name": "customFieldId", "required": true, "schema": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "Delete a custom field", "tags": [ "Custom fields" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "editCustomField", "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 custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101", "in": "path", "name": "customFieldId", "required": true, "schema": { "type": "string", "description": "Represents a custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomFieldRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomFieldDtoV1" } } }, "description": "OK" } }, "summary": "Update custom field on workspace", "tags": [ "Custom fields" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/entities/created": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "description": "Retrieves records from the database collection that were created within a specified date range. \nThe date range is determined by two parameters: start and end. ", "operationId": "getCreatedEntityInfo", "parameters": [ { "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, { "description": "Specifies the type of document to be retrieved. Expected values are CLIENTS, PROJECTS, TAGS, TASKS, SCHEDULED_ASSIGNMENT, TIME_ENTRY, TIME_ENTRY_RATE, TIME_ENTRY_CUSTOM_FIELD_VALUE.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY", "in": "query", "name": "type", "required": true, "schema": { "type": "array", "description": "Specifies the type of document to be retrieved. Expected values are ${changetracker.update.documentation.description}.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY", "items": { "type": "string", "description": "Specifies the type of document to be retrieved. Expected values are ${changetracker.update.documentation.description}.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY" } } }, { "description": "Represents the start date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no start date is provided, the application will set a default start date that matches the end date to create a date range of 30 days. If the end date is not specified either, the default behavior will apply from the current date.", "example": "2024-10-29T10:00:00Z", "in": "query", "name": "start", "required": false, "schema": { "type": "string", "description": "Represents the start date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no start date is provided, the application will set a default start date that matches the end date to create a date range of 30 days. If the end date is not specified either, the default behavior will apply from the current date.", "example": "2024-10-29T10:00:00Z" } }, { "description": "Represents the end date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no end date is provided, the application will set a default end date that matches the start date to create a date range of 30 days.", "example": "2024-11-28T10:00:00Z", "in": "query", "name": "end", "required": false, "schema": { "type": "string", "description": "Represents the end date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no end date is provided, the application will set a default end date that matches the start date to create a date range of 30 days.", "example": "2024-11-28T10:00:00Z" } }, { "in": "query", "name": "page", "required": false, "schema": { "type": "string", "default": "0" } }, { "in": "query", "name": "limit", "required": false, "schema": { "type": "string", "default": "50" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "string", "additionalProperties": {} } } }, "description": "OK" } }, "summary": "Created entities (Experimental)", "tags": [ "Entity changes (Experimental)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/entities/deleted": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "description": "Retrieves a list of record(s) that were deleted within a specified date range. \nThe date range is determined by the two parameters start and end. \n\n> ### 💡 Note\n> Deleted entities will be updated and reflected in this endpoint approximately one minute after the deletion occurs. Also, entities that are created and deleted within the request date range will not appear in the /deleted endpoint. ", "operationId": "getDeletedEntityInfo", "parameters": [ { "description": "Represents workspace identifier across the system (Experimental) ", "example": "64a687e29ae1f428e7ebe303", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents workspace identifier across the system (Experimental) ", "example": "64a687e29ae1f428e7ebe303" } }, { "description": "Specifies the type of document to be retrieved. Expected values are CLIENTS, PROJECTS, TAGS, TASKS, SCHEDULED_ASSIGNMENT, TIME_ENTRY, TIME_ENTRY_RATE, TIME_ENTRY_CUSTOM_FIELD_VALUE.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY", "in": "query", "name": "type", "required": true, "schema": { "type": "array", "description": "Specifies the type of document to be retrieved. Expected values are ${changetracker.update.documentation.description}.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY", "items": { "type": "string", "description": "Specifies the type of document to be retrieved. Expected values are ${changetracker.update.documentation.description}.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY" } } }, { "description": "Represents the start date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no start date is provided, the application will set a default start date that matches the end date to create a date range of 30 days. If the end date is not specified either, the default behavior will apply from the current date.", "example": "2024-10-29T10:00:00Z", "in": "query", "name": "start", "required": false, "schema": { "type": "string", "description": "Represents the start date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no start date is provided, the application will set a default start date that matches the end date to create a date range of 30 days. If the end date is not specified either, the default behavior will apply from the current date.", "example": "2024-10-29T10:00:00Z" } }, { "description": "Represents the end date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no end date is provided, the application will set a default end date that matches the start date to create a date range of 30 days.", "example": "2024-11-28T10:00:00Z", "in": "query", "name": "end", "required": false, "schema": { "type": "string", "description": "Represents the end date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no end date is provided, the application will set a default end date that matches the start date to create a date range of 30 days.", "example": "2024-11-28T10:00:00Z" } }, { "in": "query", "name": "page", "required": false, "schema": { "type": "string", "default": "0" } }, { "in": "query", "name": "limit", "required": false, "schema": { "type": "string", "default": "50" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageableCollectionLogBinDocumentDto" } } }, "description": "OK" } }, "summary": "Deleted entities (Experimental)", "tags": [ "Entity changes (Experimental)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/entities/updated": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "description": "Retrieves records that were updated within the specified date range. \nThe date range is determined by the two parameters: start and end. \n\n> ### 💡 Note\n> If an entity is both created and updated within the requested date range, it will be excluded from the /updated endpoint results. ", "operationId": "getUpdatedEntityInfo", "parameters": [ { "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, { "description": "Specifies the type of document to be retrieved. Expected values are CLIENTS, PROJECTS, TAGS, TASKS, SCHEDULED_ASSIGNMENT, TIME_ENTRY, TIME_ENTRY_RATE, TIME_ENTRY_CUSTOM_FIELD_VALUE.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY", "in": "query", "name": "type", "required": true, "schema": { "type": "array", "description": "Specifies the type of document to be retrieved. Expected values are ${changetracker.update.documentation.description}.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY", "items": { "type": "string", "description": "Specifies the type of document to be retrieved. Expected values are ${changetracker.update.documentation.description}.This parameter can accept multiple values, and at least one option must be provided. Based on the input, the application will return results corresponding to the selected document types.", "example": "TIME_ENTRY" } } }, { "description": "Represents the start date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no start date is provided, the application will set a default start date that matches the end date to create a date range of 30 days. If the end date is not specified either, the default behavior will apply from the current date.", "example": "2024-10-29T10:00:00Z", "in": "query", "name": "start", "required": false, "schema": { "type": "string", "description": "Represents the start date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no start date is provided, the application will set a default start date that matches the end date to create a date range of 30 days. If the end date is not specified either, the default behavior will apply from the current date.", "example": "2024-10-29T10:00:00Z" } }, { "description": "Represents the end date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no end date is provided, the application will set a default end date that matches the start date to create a date range of 30 days.", "example": "2024-11-28T10:00:00Z", "in": "query", "name": "end", "required": false, "schema": { "type": "string", "description": "Represents the end date in yyyy-MM-ddThh:mm:ssZ format. This parameter is optional; if no end date is provided, the application will set a default end date that matches the start date to create a date range of 30 days.", "example": "2024-11-28T10:00:00Z" } }, { "in": "query", "name": "page", "required": false, "schema": { "type": "string", "default": "0" } }, { "in": "query", "name": "limit", "required": false, "schema": { "type": "string", "default": "50" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "string", "additionalProperties": {} } } }, "description": "OK" } }, "summary": "Updated entities (Experimental)", "tags": [ "Entity changes (Experimental)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/expenses": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getExpenses", "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": "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": "If provided, you'll get a filtered list of expenses which match the provided string in the user ID linked to the expense.", "example": "5a0ab5acb07987125438b60f", "in": "query", "name": "user-id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpensesAndTotalsDtoV1" } } }, "description": "OK" } }, "summary": "Get all expenses on a workspace", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createExpense", "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": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CreateExpenseV1Request" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseDtoV1" } } }, "description": "Created" } }, "summary": "Create an expense", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/expenses/categories": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getCategories", "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 the column name to be used as sorting criteria.", "example": "NAME", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "NAME" ] } }, { "description": "Represents the sorting order.", "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 } }, { "description": "Flag to filter results based on whether category is archived or not.", "example": true, "in": "query", "name": "archived", "required": false, "schema": { "type": "boolean", "description": "Flag to filter results based on whether category is archived or not.", "example": true, "default": false } }, { "description": "If provided, you'll get a filtered list of expense categories that matches the provided string in their name.", "example": "procurement", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of expense categories that matches the provided string in their name.", "example": "procurement" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseCategoriesWithCountDtoV1" } } }, "description": "OK" } }, "summary": "Get all expense categories", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createExpenseCategory", "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/ExpenseCategoryV1Request" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseCategoryDtoV1" } } }, "description": "Created" } }, "summary": "Add an expense category", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/expenses/categories/{categoryId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteCategory", "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 category identifier across the system.", "example": "89a687e29ae1f428e7ebe567", "in": "path", "name": "categoryId", "required": true, "schema": { "type": "string", "description": "Represents a category identifier across the system.", "example": "89a687e29ae1f428e7ebe567" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "Delete an expense category", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateCategory", "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 category identifier across the system.", "example": "89a687e29ae1f428e7ebe567", "in": "path", "name": "categoryId", "required": true, "schema": { "type": "string", "description": "Represents a category identifier across the system.", "example": "89a687e29ae1f428e7ebe567" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseCategoryV1Request" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseCategoryDtoV1" } } }, "description": "OK" } }, "summary": "Update an expense category", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/expenses/categories/{categoryId}/status": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "operationId": "updateExpenseCategoryStatus", "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 category identifier across the system.", "example": "89a687e29ae1f428e7ebe567", "in": "path", "name": "categoryId", "required": true, "schema": { "type": "string", "description": "Represents a category identifier across the system.", "example": "89a687e29ae1f428e7ebe567" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseCategoryArchiveV1Request" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseCategoryDtoV1" } } }, "description": "OK" } }, "summary": "Archive an expense category", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/expenses/{expenseId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteExpense", "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 expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "expenseId", "required": true, "schema": { "type": "string", "description": "Represents an expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } } ], "responses": { "200": { "description": "OK" } }, "summary": "Delete an expense", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getExpense", "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 expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "expenseId", "required": true, "schema": { "type": "string", "description": "Represents an expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseDtoV1" } } }, "description": "OK" } }, "summary": "Get an expense by ID", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateExpense", "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 expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "expenseId", "required": true, "schema": { "type": "string", "description": "Represents an expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UpdateExpenseV1Request" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseDtoV1" } } }, "description": "OK" } }, "summary": "Update an expense", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/expenses/{expenseId}/files/{fileId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "downloadFile", "parameters": [ { "description": "Represents a file identifier across the system.", "example": "745687e29ae1f428e7ebe890", "in": "path", "name": "fileId", "required": true, "schema": { "type": "string", "description": "Represents a file identifier across the system.", "example": "745687e29ae1f428e7ebe890" } }, { "description": "Represents an expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "expenseId", "required": true, "schema": { "type": "string", "description": "Represents an expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } }, { "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" } } ], "responses": { "200": { "content": { "*/*": { "schema": { "type": "string", "format": "byte" } } }, "description": "OK" } }, "summary": "Download a receipt", "tags": [ "Expense" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/holidays": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getHolidays", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "If provided, you'll get a filtered list of holidays assigned to user.", "example": "60f924bafdaf031696ec6218", "in": "query", "name": "assigned-to", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of holidays assigned to user.", "example": "60f924bafdaf031696ec6218" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HolidayDtoV1" } } } }, "description": "OK" } }, "summary": "Get holidays on a workspace", "tags": [ "Holiday" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createHoliday", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateHolidayRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HolidayDtoV1" } } }, "description": "OK" } }, "summary": "Create a holiday", "tags": [ "Holiday" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/holidays/in-period": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getHolidaysInPeriod", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Filter list of holidays assigned to user.", "example": "60f924bafdaf031696ec6218", "in": "query", "name": "assigned-to", "required": true, "schema": { "type": "string", "description": "Filter list of holidays assigned to user.", "example": "60f924bafdaf031696ec6218" } }, { "description": "Filter list of holidays starting from start date. Expected date format yyyy-MM-ddThh:mm:ssZ", "example": "2022-12-03T10:59:59.999Z", "in": "query", "name": "start", "required": true, "schema": { "type": "string", "description": "Filter list of holidays starting from start date. Expected date format yyyy-MM-ddThh:mm:ssZ", "example": "2022-12-03T10:59:59.999Z" } }, { "description": "Filter list of holidays ending by end date. Expected date format yyyy-MM-ddThh:mm:ssZ", "example": "2022-12-05T23:59:59.999Z", "in": "query", "name": "end", "required": true, "schema": { "type": "string", "description": "Filter list of holidays ending by end date. Expected date format yyyy-MM-ddThh:mm:ssZ", "example": "2022-12-05T23:59:59.999Z" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HolidayDtoV1" } } } }, "description": "OK" } }, "summary": "Get holidays in a specific period", "tags": [ "Holiday" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/holidays/{holidayId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteHoliday", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a holiday identifier across the system.", "example": "60f927920658241e3cf35e02", "in": "path", "name": "holidayId", "required": true, "schema": { "type": "string", "description": "Represents a holiday identifier across the system.", "example": "60f927920658241e3cf35e02" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HolidayDto" } } }, "description": "OK" } }, "summary": "Delete a holiday", "tags": [ "Holiday" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateHoliday", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a holiday identifier across the system.", "example": "60f927920658241e3cf35e02", "in": "path", "name": "holidayId", "required": true, "schema": { "type": "string", "description": "Represents a holiday identifier across the system.", "example": "60f927920658241e3cf35e02" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateHolidayRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HolidayDtoV1" } } }, "description": "OK" } }, "summary": "Update a holiday", "tags": [ "Holiday" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/hourly-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "setWorkspaceHourlyRate", "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/RateWithCurrencyRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Update workspace billable rate", "tags": [ "Workspace" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getInvoices", "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": "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": "If provided, you'll get a filtered result of invoices that matches the provided string in the user ID linked to the expense.", "example": [ "UNSENT", "PAID" ], "in": "query", "name": "statuses", "required": false, "schema": { "type": "string", "enum": [ "UNSENT", "SENT", "PAID", "PARTIALLY_PAID", "VOID", "OVERDUE" ] } }, { "description": "Valid column name as sorting criteria. Default: ID", "example": "CLIENT", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "CLIENT", "DUE_ON", "ISSUE_DATE", "AMOUNT", "BALANCE" ] } }, { "description": "Sort order. Default: ASCENDING", "example": "ASCENDING", "in": "query", "name": "sort-order", "required": false, "schema": { "type": "string", "enum": [ "ASCENDING", "DESCENDING" ] } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoicesListDtoV1" } } }, "description": "OK" } }, "summary": "Get all invoices on a workspace", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createInvoice", "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/CreateInvoiceRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInvoiceDtoV1" } } }, "description": "Created" } }, "summary": "Add an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/info": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "getInvoicesInfo", "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/InvoiceFilterRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceInfoResponseDtoV1" } } }, "description": "OK" } }, "summary": "Filter out invoices", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/settings": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getInvoiceSettings", "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceSettingsDtoV1" } } }, "description": "OK" } }, "summary": "Get an invoice in another language", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateInvoiceSettings", "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/UpdateInvoiceSettingsRequestV1" } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "summary": "Change an invoice language", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteInvoice", "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 invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } } ], "responses": { "200": { "description": "OK" } }, "summary": "Delete an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getInvoice", "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 invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "OK" } }, "summary": "Get an invoice by ID", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateInvoice", "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 invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInvoiceRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "OK" } }, "summary": "Update an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/duplicate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "duplicateInvoice", "parameters": [ { "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } }, { "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" } } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "Created" } }, "summary": "Duplicate an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/export": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "exportInvoice", "parameters": [ { "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } }, { "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 locale.", "example": "en", "in": "query", "name": "userLocale", "required": true, "schema": { "type": "string", "description": "Represents a locale.", "example": "en" } } ], "responses": { "200": { "content": { "*/*": { "schema": { "type": "string", "format": "byte" } } }, "description": "OK" } }, "summary": "Export an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/items": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "addInvoiceItem", "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 invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInvoiceItemRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "OK" } }, "summary": "Add item to an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/items/import": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "importTimeEntriesAndExpenses", "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 invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportTimeEntriesAndExpensesRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "OK" } }, "summary": "Import time entries and expenses to an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/items/{order}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "removeInvoiceItem", "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 invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "83q687e29ae1f428e7ebe195" } }, { "description": "Represents an invoice item order.", "example": 3, "in": "path", "name": "order", "required": true, "schema": { "minimum": 1, "type": "integer", "description": "Represents an invoice item order.", "format": "int32", "example": 3 } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "OK" } }, "summary": "Delete item from an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/payments": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getPaymentsForInvoice", "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 invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } }, { "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/InvoicePaymentDtoV1" } } } }, "description": "OK" } }, "summary": "Get payments for an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createInvoicePayment", "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 invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInvoicePaymentRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "Created" } }, "summary": "Add payment to an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/payments/{paymentId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deletePaymentById", "parameters": [ { "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } }, { "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 payment identifier across the system.", "example": "56p687e29ae1f428e7ebe456", "in": "path", "name": "paymentId", "required": true, "schema": { "type": "string", "description": "Represents a payment identifier across the system.", "example": "56p687e29ae1f428e7ebe456" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceOverviewDtoV1" } } }, "description": "OK" } }, "summary": "Delete payment from an invoice", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/invoices/{invoiceId}/status": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "operationId": "changeInvoiceStatus", "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 invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303", "in": "path", "name": "invoiceId", "required": true, "schema": { "type": "string", "description": "Represents an invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangeInvoiceStatusRequestV1" } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "summary": "Change an invoice status", "tags": [ "Invoice" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/member-profile/{userId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getMemberProfile", "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MemberProfileDtoV1" } } }, "description": "OK" } }, "summary": "Get a member's profile", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "patch": { "operationId": "updateMemberProfileWithAdditionalData", "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MemberProfileFullRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MemberProfileDtoV1" } } }, "description": "OK" } }, "summary": "Update a member's profile", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getProjects", "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, you'll get a filtered list of projects that contains the provided string in the project name.", "example": "Software Development", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of projects that contains the provided string in the project name.", "example": "Software Development" } }, { "description": "Flag to toggle on/off strict search mode. When set to true, search by name will only return projects whose name exactly matches the string value given for the 'name' parameter. When set to false, results will also include projects whose name contain the string value, but could be longer than the string value itself. For example, if there is a project with the name 'applications', and the search value is 'app', setting strict-name-search to true will not return that project in the results, whereas setting it to false will.", "in": "query", "name": "strict-name-search", "required": false, "schema": { "type": "boolean", "description": "Flag to toggle on/off strict search mode. When set to true, search by name will only return projects whose name exactly matches the string value given for the 'name' parameter. When set to false, results will also include projects whose name contain the string value, but could be longer than the string value itself. For example, if there is a project with the name 'applications', and the search value is 'app', setting strict-name-search to true will not return that project in the results, whereas setting it to false will.", "default": false } }, { "description": "If provided and set to true, you'll only get archived projects. If omitted, you'll get both archived and non-archived projects.", "in": "query", "name": "archived", "required": false, "schema": { "type": "boolean", "description": "If provided and set to true, you'll only get archived projects. If omitted, you'll get both archived and non-archived projects.", "default": false } }, { "description": "If provided and set to true, you'll only get billable projects. If omitted, you'll get both billable and non-billable projects.", "in": "query", "name": "billable", "required": false, "schema": { "type": "boolean", "description": "If provided and set to true, you'll only get billable projects. If omitted, you'll get both billable and non-billable projects.", "default": false } }, { "description": "If provided, you'll get a filtered list of projects that contain clients which match any of the provided ids.", "example": [ "5a0ab5acb07987125438b60f", "64c777ddd3fcab07cfbb210c" ], "in": "query", "name": "clients", "required": false, "schema": { "uniqueItems": true, "type": "array", "description": "If provided, you'll get a filtered list of projects that contain clients which match any of the provided ids.", "example": [ "5a0ab5acb07987125438b60f", "64c777ddd3fcab07cfbb210c" ], "items": { "type": "string", "description": "If provided, you'll get a filtered list of projects that contain clients which match any of the provided ids.", "example": "[\"5a0ab5acb07987125438b60f\",\"64c777ddd3fcab07cfbb210c\"]" } } }, { "description": "If set to true, you'll get a filtered list of projects that contain clients which match the provided id(s) in 'clients' field. If set to false, you'll get a filtered list of projects which do NOT contain clients that match the provided id(s) in 'clients' field.", "in": "query", "name": "contains-client", "required": false, "schema": { "type": "boolean", "description": "If set to true, you'll get a filtered list of projects that contain clients which match the provided id(s) in 'clients' field. If set to false, you'll get a filtered list of projects which do NOT contain clients that match the provided id(s) in 'clients' field.", "default": true } }, { "description": "Filters projects based on client status provided.", "example": "ACTIVE", "in": "query", "name": "client-status", "required": false, "schema": { "type": "string", "enum": [ "ACTIVE", "ARCHIVED", "ALL" ] } }, { "description": "If provided, you'll get a filtered list of projects that contain users which match any of the provided ids.", "example": [ "5a0ab5acb07987125438b60f", "64c777ddd3fcab07cfbb210c" ], "in": "query", "name": "users", "required": false, "schema": { "uniqueItems": true, "type": "array", "description": "If provided, you'll get a filtered list of projects that contain users which match any of the provided ids.", "example": [ "5a0ab5acb07987125438b60f", "64c777ddd3fcab07cfbb210c" ], "items": { "type": "string", "description": "If provided, you'll get a filtered list of projects that contain users which match any of the provided ids.", "example": "[\"5a0ab5acb07987125438b60f\",\"64c777ddd3fcab07cfbb210c\"]" } } }, { "description": "If set to true, you'll get a filtered list of projects that contain users which match the provided id(s) in 'users' field. If set to false, you'll get a filtered list of projects which do NOT contain users which match the provided id(s) in 'users' field.", "in": "query", "name": "contains-user", "required": false, "schema": { "type": "boolean", "description": "If set to true, you'll get a filtered list of projects that contain users which match the provided id(s) in 'users' field. If set to false, you'll get a filtered list of projects which do NOT contain users which match the provided id(s) in 'users' field.", "default": true } }, { "description": "Filters projects based on user status provided.", "example": "ALL", "in": "query", "name": "user-status", "required": false, "schema": { "type": "string", "enum": [ "PENDING", "ACTIVE", "DECLINED", "INACTIVE", "ALL" ] } }, { "description": "Filters projects based on whether they are used as a template or not.", "in": "query", "name": "is-template", "required": false, "schema": { "type": "boolean", "description": "Filters projects based on whether they are used as a template or not.", "default": false } }, { "description": "Sorts the results by the given column/field.", "example": "NAME", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "NAME", "CLIENT_NAME", "DURATION", "BUDGET", "PROGRESS" ] } }, { "description": "Sorting mode.", "example": "ASCENDING", "in": "query", "name": "sort-order", "required": false, "schema": { "type": "string", "enum": [ "ASCENDING", "DESCENDING" ] } }, { "description": "If set to true, results will contain additional information about the project.", "in": "query", "name": "hydrated", "required": false, "schema": { "type": "boolean", "description": "If set to true, results will contain additional information about the project.", "default": false } }, { "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": "Valid set of string(s). If provided, you'll get a filtered list of projects that matches the provided access.", "example": "PUBLIC", "in": "query", "name": "access", "required": false, "schema": { "type": "string", "enum": [ "PUBLIC", "PRIVATE" ] } }, { "description": "Represents the maximum number of expenses to fetch.", "example": 10, "in": "query", "name": "expense-limit", "required": false, "schema": { "type": "integer", "description": "Represents the maximum number of expenses to fetch.", "format": "int32", "example": 10, "default": 20 } }, { "description": "If provided, you will get expenses dated before the provided value in yyyy-MM-dd format.", "example": "2024-12-31", "in": "query", "name": "expense-date", "required": false, "schema": { "type": "string", "description": "If provided, you will get expenses dated before the provided value in yyyy-MM-dd format.", "example": "2024-12-31" } }, { "description": "If provided, you'll get a filtered list of projects that contain groups which match any of the provided ids.", "example": [ "5a0ab5acb07987125438b60f", "64c777ddd3fcab07cfbb210c" ], "in": "query", "name": "userGroups", "required": false, "schema": { "uniqueItems": true, "type": "array", "description": "If provided, you'll get a filtered list of projects that contain groups which match any of the provided ids.", "example": [ "5a0ab5acb07987125438b60f", "64c777ddd3fcab07cfbb210c" ], "items": { "type": "string", "description": "If provided, you'll get a filtered list of projects that contain groups which match any of the provided ids.", "example": "[\"5a0ab5acb07987125438b60f\",\"64c777ddd3fcab07cfbb210c\"]" } } }, { "description": "If set to true, you'll get a filtered list of projects that contain groups which match the provided id(s) in 'userGroups' field. If set to false, you'll get a filtered list of projects which do NOT contain groups which match the provided id(s) in 'userGroups' field.", "in": "query", "name": "contains-group", "required": false, "schema": { "type": "boolean", "description": "If set to true, you'll get a filtered list of projects that contain groups which match the provided id(s) in 'userGroups' field. If set to false, you'll get a filtered list of projects which do NOT contain groups which match the provided id(s) in 'userGroups' field.", "default": true } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectDtoV1" } } } }, "description": "OK" } }, "summary": "Get all projects on a workspace", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createNewProject", "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/ProjectRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "Created" } }, "summary": "Add a new project", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/from-template": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "createProjectFromTemplate", "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/CreateProjectFromTemplateV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Create project from a template", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteProject", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Delete a project from a workspace", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getProject", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } }, { "description": "If set to true, results will contain additional information about the project", "in": "query", "name": "hydrated", "required": false, "schema": { "type": "boolean", "description": "If set to true, results will contain additional information about the project", "default": false } }, { "description": "If provided, you'll get a filtered list of custom fields that matches the provided string with the custom field entity type.", "example": "TIMEENTRY", "in": "query", "name": "custom-field-entity-type", "required": false, "schema": { "type": "string", "default": "TIMEENTRY" } }, { "description": "Represents the maximum number of expenses to fetch.", "example": 10, "in": "query", "name": "expense-limit", "required": false, "schema": { "type": "integer", "description": "Represents the maximum number of expenses to fetch.", "format": "int32", "example": 10, "default": 20 } }, { "description": "If provided, you will get expenses dated before the provided value in yyyy-MM-dd format.", "example": "2024-12-31", "in": "query", "name": "expense-date", "required": false, "schema": { "type": "string", "description": "If provided, you will get expenses dated before the provided value in yyyy-MM-dd format.", "example": "2024-12-31" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoV1" } } }, "description": "OK" } }, "summary": "Find a project by ID", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateProject", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProjectRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Update a project on a workspace", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/custom-fields": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getCustomFieldsOfProject", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } }, { "description": "If provided, you'll get a filtered list of custom fields that matches the provided string with the custom field status.", "example": "INACTIVE", "in": "query", "name": "status", "required": false, "schema": { "type": "string", "enum": [ "INACTIVE", "VISIBLE", "INVISIBLE" ] } }, { "description": "If provided, you'll get a filtered list of custom fields that matches the provided string with the custom field entity type.", "example": "TIMEENTRY", "in": "query", "name": "entity-type", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldDtoV1" } } } }, "description": "OK" } }, "summary": "Get custom fields on a project", "tags": [ "Custom fields" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/custom-fields/{customFieldId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "removeDefaultValueOfProject", "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": "64a687e29ae1f428e7ebe303", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, { "description": "Represents a custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101", "in": "path", "name": "customFieldId", "required": true, "schema": { "type": "string", "description": "Represents a custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomFieldDtoV1" } } }, "description": "OK" } }, "summary": "Remove custom field from a project", "tags": [ "Custom fields" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "patch": { "operationId": "editProjectCustomFieldDefaultValue", "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": "64a687e29ae1f428e7ebe303", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, { "description": "Represents a custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101", "in": "path", "name": "customFieldId", "required": true, "schema": { "type": "string", "description": "Represents a custom field identifier across the system.", "example": "26a687e29ae1f428e7ebe101" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomFieldProjectDefaultValuesRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomFieldDtoV1" } } }, "description": "OK" } }, "summary": "Update custom field on a project", "tags": [ "Custom fields" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/estimate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "operationId": "updateEstimate", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectEstimateRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Update project estimate", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/memberships": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "operationId": "updateMemberships", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProjectMembershipsRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Update project memberships", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "addUsersToProject", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddUsersToProjectRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Assign/remove users to/from the project", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/tasks": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getTasks", "parameters": [ { "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" } }, { "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, you'll get a filtered list of tasks that matches the provided string in their name.", "example": "Bugfixing", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of tasks that matches the provided string in their name.", "example": "Bugfixing" } }, { "description": "Flag to toggle on/off strict search mode. When set to true, search by name only will return tasks whose name exactly matches the string value given for the 'name' parameter. When set to false, results will also include tasks whose name contain the string value, but could be longer than the string value itself. For example, if there is a task with the name 'applications', and the search value is 'app', setting strict-name-search to true will not return that task in the results, whereas setting it to false will.", "in": "query", "name": "strict-name-search", "required": false, "schema": { "type": "boolean", "description": "Flag to toggle on/off strict search mode. When set to true, search by name only will return tasks whose name exactly matches the string value given for the 'name' parameter. When set to false, results will also include tasks whose name contain the string value, but could be longer than the string value itself. For example, if there is a task with the name 'applications', and the search value is 'app', setting strict-name-search to true will not return that task in the results, whereas setting it to false will.", "default": false } }, { "description": "Filters search results whether task is active or not.", "in": "query", "name": "is-active", "required": false, "schema": { "type": "boolean", "description": "Filters search results whether task is active or not.", "default": false } }, { "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 the column as criteria for sorting tasks.", "example": "ID", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "NAME" ] } }, { "description": "Sorting mode.", "example": "ASCENDING", "in": "query", "name": "sort-order", "required": false, "schema": { "type": "string", "enum": [ "ASCENDING", "DESCENDING" ] } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TaskDtoV1" } } } }, "description": "OK" } }, "summary": "Find tasks on a project", "tags": [ "Task" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createTask", "parameters": [ { "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" } }, { "description": "Flag to set whether task will have assignee or none.", "in": "query", "name": "contains-assignee", "required": false, "schema": { "type": "boolean", "description": "Flag to set whether task will have assignee or none.", "default": true } }, { "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/TaskRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskDtoV1" } } }, "description": "Created" } }, "summary": "Add a new task on a project", "tags": [ "Task" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/tasks/{id}/cost-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "setTaskCostRate", "parameters": [ { "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" } }, { "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 task identifier across the system.", "example": "57a687e29ae1f428e7ebe107", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CostRateRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskDtoV1" } } }, "description": "OK" } }, "summary": "Update a task's cost rate", "tags": [ "Task" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/tasks/{id}/hourly-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "setTaskHourlyRate", "parameters": [ { "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" } }, { "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 task identifier across the system.", "example": "57a687e29ae1f428e7ebe107", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HourlyRateRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskDtoV1" } } }, "description": "OK" } }, "summary": "Update a task's billable rate", "tags": [ "Task" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/tasks/{taskId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteTask", "parameters": [ { "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107", "in": "path", "name": "taskId", "required": true, "schema": { "type": "string", "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" } }, { "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": "25b687e29ae1f428e7ebe123", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskDtoV1" } } }, "description": "OK" } }, "summary": "Delete a task from a project", "tags": [ "Task" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getTask", "parameters": [ { "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107", "in": "path", "name": "taskId", "required": true, "schema": { "type": "string", "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" } }, { "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" } }, { "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskDtoV1" } } }, "description": "OK" } }, "summary": "Get a task by id", "tags": [ "Task" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateTask", "parameters": [ { "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107", "in": "path", "name": "taskId", "required": true, "schema": { "type": "string", "description": "Represents a task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" } }, { "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": "25b687e29ae1f428e7ebe123", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" } }, { "description": "Flag to set whether task will have assignee or none.", "in": "query", "name": "contains-assignee", "required": false, "schema": { "type": "boolean", "description": "Flag to set whether task will have assignee or none.", "default": true } }, { "description": "Represents a membership status.", "example": "ACTIVE", "in": "query", "name": "membership-status", "required": false, "schema": { "type": "string", "enum": [ "PENDING", "ACTIVE", "DECLINED", "INACTIVE", "ALL" ] } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTaskRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskDtoV1" } } }, "description": "OK" } }, "summary": "Update a task on a project", "tags": [ "Task" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/template": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "operationId": "updateIsProjectTemplate", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchProjectTemplateRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Update a project template", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/users/{userId}/cost-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "addUsersCostRate", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } }, { "description": "Represents a user identifier across the system.", "example": "4a0ab5acb07987125438b60f", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "4a0ab5acb07987125438b60f" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CostRateRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Update project user's cost rate", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/projects/{projectId}/users/{userId}/hourly-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "addUsersHourlyRate", "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": "5b641568b07987035750505e", "in": "path", "name": "projectId", "required": true, "schema": { "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } }, { "description": "Represents a user identifier across the system.", "example": "4a0ab5acb07987125438b60f", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "4a0ab5acb07987125438b60f" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CostRateRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectDtoImplV1" } } }, "description": "OK" } }, "summary": "Update a project user's billable rate", "tags": [ "Project" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/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" } ], "get": { "deprecated": true, "operationId": "getProjectTotals", "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 term for searching projects and clients by name.", "example": "Project name", "in": "query", "name": "search", "required": false, "schema": { "type": "string", "description": "Represents a term for searching projects and clients by name.", "example": "Project name", "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 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" } }, { "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/SchedulingProjectsTotalsDtoV1" } } } }, "description": "OK" } }, "summary": "Get all scheduled assignments per project", "tags": [ "Scheduling (Deprecated)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "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": [] } ] } }, "/v1/workspaces/{workspaceId}/tags": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getTags", "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, you'll get a filtered list of tags that matches the provided string in their name.", "example": "feature_X", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of tags that matches the provided string in their name.", "example": "feature_X" } }, { "description": "Flag to toggle on/off strict search mode. When set to true, search by name will only return tags whose name exactly matches the string value given for the 'name' parameter. When set to false, results will also include tags whose name contain the string value, but could be longer than the string value itself. For example, if there is a tag with the name 'applications', and the search value is 'app', setting strict-name-search to true will not return that tag in the results, whereas setting it to false will.", "in": "query", "name": "strict-name-search", "required": false, "schema": { "type": "boolean", "description": "Flag to toggle on/off strict search mode. When set to true, search by name will only return tags whose name exactly matches the string value given for the 'name' parameter. When set to false, results will also include tags whose name contain the string value, but could be longer than the string value itself. For example, if there is a tag with the name 'applications', and the search value is 'app', setting strict-name-search to true will not return that tag in the results, whereas setting it to false will.", "default": false } }, { "description": "Represents a list of excluded ids", "example": [ "90p687e29ae1f428e7ebe657", "3r8687e29ae1f428e7eg567y" ], "in": "query", "name": "excluded-ids", "required": false, "schema": { "type": "string" } }, { "description": "Represents a column to be used as sorting criteria.", "example": "NAME", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "NAME" ] } }, { "description": "Represents a 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 } }, { "description": "Filters the result whether tags are archived or not.", "example": false, "in": "query", "name": "archived", "required": false, "schema": { "type": "boolean", "description": "Filters the result whether tags are archived or not.", "example": false, "default": false } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TagDtoV1" } } } }, "description": "OK" } }, "summary": "Find tags on a workspace", "tags": [ "Tag" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createNewTag", "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/TagRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagDtoV1" } } }, "description": "Created" } }, "summary": "Add a new tag", "tags": [ "Tag" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/tags/{id}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteTag", "parameters": [ { "description": "Represents a tag identifier across the system.", "example": "21s687e29ae1f428e7ebe404", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a tag identifier across the system.", "example": "21s687e29ae1f428e7ebe404" } }, { "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagDtoV1" } } }, "description": "OK" } }, "summary": "Delete a tag", "tags": [ "Tag" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getTag", "parameters": [ { "description": "Represents a tag identifier across the system.", "example": "21s687e29ae1f428e7ebe404", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a tag identifier across the system.", "example": "21s687e29ae1f428e7ebe404" } }, { "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagDtoV1" } } }, "description": "OK" } }, "summary": "Get a tag by ID", "tags": [ "Tag" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateTag", "parameters": [ { "description": "Represents a tag identifier across the system.", "example": "21s687e29ae1f428e7ebe404", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a tag identifier across the system.", "example": "21s687e29ae1f428e7ebe404" } }, { "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/UpdateTagRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagDtoV1" } } }, "description": "OK" } }, "summary": "Update a tag", "tags": [ "Tag" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/templates": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "deprecated": true, "operationId": "getTemplates", "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, you'll get a filtered list of templates that contain the provided string in their name.", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of templates that contain the provided string in their name." } }, { "description": "If set to true will filter out inactive template projects and tasks.", "in": "query", "name": "cleansed", "required": false, "schema": { "type": "boolean", "description": "If set to true will filter out inactive template projects and tasks.", "default": false } }, { "description": "If set to true will return hydrated template projects and tasks.", "in": "query", "name": "hydrated", "required": false, "schema": { "type": "boolean", "description": "If set to true will return hydrated template projects and tasks.", "default": false } }, { "in": "query", "name": "page", "required": false, "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "in": "query", "name": "page-size", "required": false, "schema": { "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateDto" } } } }, "description": "OK" } }, "summary": "Get all templates on a workspace", "tags": [ "Template (Deprecated)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "deprecated": true, "operationId": "createMany", "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": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateRequest" } } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateDtoImpl" } } } }, "description": "OK" } }, "summary": "Create templates on a workspace", "tags": [ "Template (Deprecated)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/templates/{templateId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "deprecated": true, "operationId": "delete_1", "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 template identifier across the system.", "example": "5b6d45c4b0798751107762b8", "in": "path", "name": "templateId", "required": true, "schema": { "type": "string", "description": "Represents a template identifier across the system.", "example": "5b6d45c4b0798751107762b8" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateDtoImpl" } } }, "description": "OK" } }, "summary": "Delete a template", "tags": [ "Template (Deprecated)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "deprecated": true, "operationId": "getTemplate", "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 template identifier across the system.", "example": "5b6d45c4b0798751107762b8", "in": "path", "name": "templateId", "required": true, "schema": { "type": "string", "description": "Represents a template identifier across the system.", "example": "5b6d45c4b0798751107762b8" } }, { "description": "If set to true will filter out inactive template projects and tasks.", "in": "query", "name": "cleansed", "required": false, "schema": { "type": "boolean", "description": "If set to true will filter out inactive template projects and tasks.", "default": false } }, { "description": "If set to true will return hydrated template projects and tasks.", "in": "query", "name": "hydrated", "required": false, "schema": { "type": "boolean", "description": "If set to true will return hydrated template projects and tasks.", "default": false } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateDto" } } }, "description": "OK" } }, "summary": "Get template by ID on a workspace", "tags": [ "Template (Deprecated)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "patch": { "deprecated": true, "operationId": "update", "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 template identifier across the system.", "example": "5b6d45c4b0798751107762b8", "in": "path", "name": "templateId", "required": true, "schema": { "type": "string", "description": "Represents a template identifier across the system.", "example": "5b6d45c4b0798751107762b8" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplatePatchRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateDtoImpl" } } }, "description": "OK" } }, "summary": "Update a template", "tags": [ "Template (Deprecated)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-entries": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "createTimeEntry", "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/CreateTimeEntryRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeEntryDtoImplV1" } } }, "description": "Created" } }, "summary": "Add a new time entry", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-entries/invoiced": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "operationId": "updateInvoicedStatus", "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/UpdateInvoicedStatusRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "summary": "Mark time entries as invoiced", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-entries/status/in-progress": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getInProgressTimeEntries", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "page", "required": false, "schema": { "minimum": 1, "type": "integer", "format": "int32", "default": 1 } }, { "in": "query", "name": "page-size", "required": false, "schema": { "maximum": 1000, "minimum": 1, "type": "integer", "format": "int32", "default": 10 } } ], "responses": { "200": { "content": { "*/*": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TimeEntryWithRatesDtoV1" } } } }, "description": "OK" } }, "summary": "Get all in progress time entries on a workspace", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-entries/{id}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteTimeEntry", "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 time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "Delete a time entry from a workspace", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getTimeEntry", "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 time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } }, { "description": "Flag to set whether to include additional information of a time entry or not.", "in": "query", "name": "hydrated", "required": false, "schema": { "type": "boolean", "description": "Flag to set whether to include additional information of a time entry or not.", "default": false } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeEntryWithRatesDtoV1" } } }, "description": "OK" } }, "summary": "Get a specific time entry on a workspace", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateTimeEntry", "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 time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTimeEntryRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeEntryDtoImplV1" } } }, "description": "OK" } }, "summary": "Update time entry on a workspace", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/balance/policy/{policyId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getBalancesForPolicy", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "policyId", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } }, { "example": 1, "in": "query", "name": "page", "required": false, "schema": { "maximum": 1000, "type": "integer", "format": "int32", "example": 1, "default": 1 } }, { "example": 50, "in": "query", "name": "page-size", "required": false, "schema": { "maximum": 200, "minimum": 1, "type": "integer", "format": "int32", "example": 50, "default": 50 } }, { "description": "If provided, you'll get result sorted by sort column.", "example": "USER", "in": "query", "name": "sort", "required": false, "schema": { "type": "string", "enum": [ "USER", "POLICY", "USED", "BALANCE", "TOTAL" ] } }, { "description": "Sort results in ascending or descending order.", "example": "ASCENDING", "in": "query", "name": "sort-order", "required": false, "schema": { "type": "string", "enum": [ "ASCENDING", "DESCENDING" ] } } ], "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/BalancesWithCountDtoV1" } } }, "description": "OK" } }, "summary": "Get balances for a policy", "tags": [ "Balance" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "patch": { "operationId": "updateBalance", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "policyId", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateBalanceRequestV1" } } }, "required": true }, "responses": { "204": { "description": "No Content" } }, "summary": "Update a balance", "tags": [ "Balance" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/balance/user/{userId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getBalancesForUser", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a user identifier across the system.", "example": "60f924bafdaf031696ec6218", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "60f924bafdaf031696ec6218" } }, { "description": "Page number.", "in": "query", "name": "page", "required": false, "schema": { "maximum": 1000, "type": "string" } }, { "description": "Page size.", "in": "query", "name": "page-size", "required": false, "schema": { "maximum": 200, "minimum": 1, "type": "string" } }, { "description": "Sort result based on given criteria", "example": "POLICY", "in": "query", "name": "sort", "required": false, "schema": { "type": "string", "enum": [ "USER", "POLICY", "USED", "BALANCE", "TOTAL" ] } }, { "description": "Sort result by providing sort order.", "example": "ASCENDING", "in": "query", "name": "sort-order", "required": false, "schema": { "type": "string", "enum": [ "ASCENDING", "DESCENDING" ] } } ], "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/BalancesWithCountDtoV1" } } }, "description": "OK" } }, "summary": "Get balance for a user", "tags": [ "Balance" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/policies": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "findPoliciesForWorkspace", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Page number.", "in": "query", "name": "page", "required": false, "schema": { "maximum": 1000, "type": "string" } }, { "description": "Page size.", "example": 50, "in": "query", "name": "page-size", "required": false, "schema": { "maximum": 200, "minimum": 1, "type": "integer", "description": "Page size.", "format": "int32", "example": 50, "default": 50 } }, { "description": "If provided, you'll get a filtered list of policies that contain the provided string in their name.", "example": "Holidays", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of policies that contain the provided string in their name.", "example": "Holidays" } }, { "description": "If provided, you'll get a filtered list of policies with the corresponding status.", "example": "ACTIVE", "in": "query", "name": "status", "required": false, "schema": { "type": "string", "enum": [ "ACTIVE", "ARCHIVED", "ALL" ] } }, { "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "default": "DEFAULT_SORT" } }, { "in": "query", "name": "sort-order", "required": false, "schema": { "type": "string", "default": "ASCENDING" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PolicyDtoV1" } } } }, "description": "OK" } }, "summary": "Get policies on a workspace", "tags": [ "Policy" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createPolicy", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePolicyRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyDtoV1" } } }, "description": "Created" } }, "summary": "Create a time off policy", "tags": [ "Policy" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/policies/{id}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deletePolicy", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } } ], "responses": { "200": { "description": "OK" } }, "summary": "Delete a policy", "tags": [ "Policy" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getPolicy", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyDtoV1" } } }, "description": "OK" } }, "summary": "Get a time off policy", "tags": [ "Policy" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "patch": { "operationId": "updatePolicyStatus", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangePolicyStatusRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyDtoV1" } } }, "description": "OK" } }, "summary": "Change a policy status", "tags": [ "Policy" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updatePolicy", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePolicyRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PolicyDtoV1" } } }, "description": "OK" } }, "summary": "Update a policy", "tags": [ "Policy" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/policies/{policyId}/requests": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "createTimeOffRequest", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "policyId", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTimeOffRequestV1Request" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeOffRequestFullV1Dto" } } }, "description": "OK" } }, "summary": "Create a time off request", "tags": [ "Time Off" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/policies/{policyId}/requests/{requestId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteTimeOffRequest", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "policyId", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } }, { "description": "Represents a time off request identifier across the system.", "example": "6308850156b7d75ea8fd3fbd", "in": "path", "name": "requestId", "required": true, "schema": { "type": "string", "description": "Represents a time off request identifier across the system.", "example": "6308850156b7d75ea8fd3fbd" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeOffRequestV1Dto" } } }, "description": "OK" } }, "summary": "Delete a time off request", "tags": [ "Time Off" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "patch": { "operationId": "changeTimeOffRequestStatus", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "policyId", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } }, { "description": "Represents a time off request identifier across the system.", "example": "6308850156b7d75ea8fd3fbd", "in": "path", "name": "requestId", "required": true, "schema": { "type": "string", "description": "Represents a time off request identifier across the system.", "example": "6308850156b7d75ea8fd3fbd" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusTimeOffRequestV1Request" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeOffRequestV1Dto" } } }, "description": "OK" } }, "summary": "Change a time off request status", "tags": [ "Time Off" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/policies/{policyId}/users/{userId}/requests": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "createTimeOffRequestForOther", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } }, { "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad", "in": "path", "name": "policyId", "required": true, "schema": { "type": "string", "description": "Represents a policy identifier across the system.", "example": "63034cd0cb0fb876a57e93ad" } }, { "description": "Represents a user identifier across the system.", "example": "60f924bafdaf031696ec6218", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "60f924bafdaf031696ec6218" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTimeOffRequestV1Request" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeOffRequestFullV1Dto" } } }, "description": "OK" } }, "summary": "Create a time off request for a user", "tags": [ "Time Off" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/time-off/requests": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "getTimeOffRequest", "parameters": [ { "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8", "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetTimeOffRequestsV1Request" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeOffRequestsWithCountV1Dto" } } }, "description": "OK" } }, "summary": "Get all time off requests on a workspace", "tags": [ "Time Off" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/user-groups": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getUserGroups", "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, you'll get a filtered list of groups that matches the string provided in their project id.", "example": "5a0ab5acb07987125438b60f", "in": "query", "name": "project-id", "required": false, "schema": { "type": "string" } }, { "description": "If provided, you'll get a filtered list of groups that matches the string provided in their name.", "example": "development_team", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of groups that matches the string provided in their name.", "example": "development_team" } }, { "description": "Column to be used as the sorting criteria.", "example": "NAME", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "NAME" ] } }, { "description": "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 } }, { "description": "If provided, you'll get a list of team managers assigned to this user group.", "example": true, "in": "query", "name": "includeTeamManagers", "required": false, "schema": { "type": "boolean", "description": "If provided, you'll get a list of team managers assigned to this user group.", "example": true, "default": false } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserGroupDtoV1" } } } }, "description": "OK" } }, "summary": "Find all groups on a workspace", "tags": [ "Group" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createUserGroup", "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/UserGroupRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGroupDtoV1" } } }, "description": "Created" } }, "summary": "Add a new group", "tags": [ "Group" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/user-groups/{id}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteUserGroup", "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 group identifier across the system.", "example": "76a687e29ae1f428e7ebe101", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a user group identifier across the system.", "example": "76a687e29ae1f428e7ebe101" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGroupDtoV1" } } }, "description": "OK" } }, "summary": "Delete a group", "tags": [ "Group" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateUserGroup", "parameters": [ { "description": "Represents a user group identifier across the system.", "example": "76a687e29ae1f428e7ebe101", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a user group identifier across the system.", "example": "76a687e29ae1f428e7ebe101" } }, { "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/UpdateUserGroupRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGroupDtoV1" } } }, "description": "OK" } }, "summary": "Update a group", "tags": [ "Group" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/user-groups/{userGroupId}/users": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "addUser", "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 group identifier across the system.", "example": "76a687e29ae1f428e7ebe101", "in": "path", "name": "userGroupId", "required": true, "schema": { "type": "string", "description": "Represents a user group identifier across the system.", "example": "76a687e29ae1f428e7ebe101" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGroupUserRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGroupDtoV1" } } }, "description": "OK" } }, "summary": "Add users to a group", "tags": [ "Group" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/user-groups/{userGroupId}/users/{userId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteUser", "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 group identifier across the system.", "example": "76a687e29ae1f428e7ebe101", "in": "path", "name": "userGroupId", "required": true, "schema": { "type": "string", "description": "Represents a user group identifier across the system.", "example": "76a687e29ae1f428e7ebe101" } }, { "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" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserGroupDtoV1" } } }, "description": "OK" } }, "summary": "Remove a user from a group", "tags": [ "Group" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/user/{userId}/time-entries": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteMany", "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": "Represents a list of time entry ids to delete.", "example": "5a0ab5acb07987125438b60f", "in": "query", "name": "time-entry-ids", "required": true, "schema": { "type": "array", "description": "Represents a list of time entry ids to delete.", "example": "5a0ab5acb07987125438b60f", "items": { "type": "string", "description": "Represents a list of time entry ids to delete.", "example": "5a0ab5acb07987125438b60f" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TimeEntryDtoImplV1" } } } }, "description": "OK" } }, "summary": "Delete all time entries for a user on a workspace", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getTimeEntries", "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": "Represents a term for searching time entries by description.", "example": "Description keywords", "in": "query", "name": "description", "required": false, "schema": { "type": "string", "description": "Represents a term for searching time entries by description.", "example": "Description keywords" } }, { "description": "Represents a start date in the yyyy-MM-ddThh:mm:ssZ format.", "example": "2020-01-01T00:00:00Z", "in": "query", "name": "start", "required": false, "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": false, "schema": { "type": "string", "description": "Represents an end date in the yyyy-MM-ddThh:mm:ssZ format.", "example": "2021-01-01T00:00:00Z" } }, { "description": "If provided, you'll get a filtered list of time entries that matches the provided string in their project id.", "example": "5b641568b07987035750505e", "in": "query", "name": "project", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of time entries that matches the provided string in their project id.", "example": "5b641568b07987035750505e" } }, { "description": "If provided, you'll get a filtered list of time entries that matches the provided string in their task id.", "example": "64c777ddd3fcab07cfbb210c", "in": "query", "name": "task", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of time entries that matches the provided string in their task id.", "example": "64c777ddd3fcab07cfbb210c" } }, { "description": "If provided, you'll get a filtered list of time entries that matches the provided string(s) in their tag id(s).", "example": [ "5e4117fe8c625f38930d57b7", "7e4117fe8c625f38930d57b8" ], "in": "query", "name": "tags", "required": false, "schema": { "uniqueItems": true, "type": "array", "description": "If provided, you'll get a filtered list of time entries that matches the provided string(s) in their tag id(s).", "example": [ "5e4117fe8c625f38930d57b7", "7e4117fe8c625f38930d57b8" ], "items": { "type": "string", "description": "If provided, you'll get a filtered list of time entries that matches the provided string(s) in their tag id(s).", "example": "[\"5e4117fe8c625f38930d57b7\",\"7e4117fe8c625f38930d57b8\"]" } } }, { "description": "Flag to set whether to only get time entries which have a project.", "in": "query", "name": "project-required", "required": false, "schema": { "type": "boolean", "description": "Flag to set whether to only get time entries which have a project.", "default": false } }, { "description": "Flag to set whether to only get time entries which have tasks.", "in": "query", "name": "task-required", "required": false, "schema": { "type": "boolean", "description": "Flag to set whether to only get time entries which have tasks.", "default": false } }, { "description": "Flag to set whether to include additional information on time entries or not.", "in": "query", "name": "hydrated", "required": false, "schema": { "type": "boolean", "description": "Flag to set whether to include additional information on time entries or not.", "default": false } }, { "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": "Flag to set whether to filter only in progress time entries.", "in": "query", "name": "in-progress", "required": false, "schema": { "type": "string" } }, { "description": "Valid yyyy-MM-ddThh:mm:ssZ format date. If provided, filters results within the week before the datetime provided and only those entries with assigned project or task.", "example": "2020-01-01T00:00:00Z", "in": "query", "name": "get-week-before", "required": false, "schema": { "type": "string", "description": "Valid yyyy-MM-ddThh:mm:ssZ format date. If provided, filters results within the week before the datetime provided and only those entries with assigned project or task.", "example": "2020-01-01T00:00:00Z" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TimeEntryWithRatesDtoV1" } } } }, "description": "OK" } }, "summary": "Get time entries for a user on a workspace", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "patch": { "operationId": "stopRunningTimeEntry", "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopTimeEntryRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeEntryDtoImplV1" } } }, "description": "OK" } }, "summary": "Stop a currently running timer on a workspace for a user", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createForOthers", "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": "Represents a time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c", "in": "query", "name": "from-entry", "required": false, "schema": { "type": "string", "description": "Represents a time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTimeEntryRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeEntryDtoImplV1" } } }, "description": "Created" } }, "summary": "Add a new time entry for another user on workspace", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "replaceMany", "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": "If set to true, results will contain additional information about the time entry.", "in": "query", "name": "hydrated", "required": false, "schema": { "type": "boolean", "description": "If set to true, results will contain additional information about the time entry.", "default": false } } ], "requestBody": { "content": { "application/json": { "schema": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/UpdateTimeEntryBulkRequest" } } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TimeEntryDtoV1" } } } }, "description": "OK" } }, "summary": "Bulk edit time entries", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/user/{userId}/time-entries/{id}/duplicate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "duplicateTimeEntry", "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": "Represents a time entry identifier across the system.", "example": "8j39fn9307hh5125439g2ast", "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a time entry identifier across the system.", "example": "8j39fn9307hh5125439g2ast" } } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeEntryDtoImplV1" } } }, "description": "Created" } }, "summary": "Duplicate a time entry", "tags": [ "Time entry" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/users": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getUsersOfWorkspace", "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, you'll get a filtered list of users that contain the provided string in their email address.", "example": "mail@example.com", "in": "query", "name": "email", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of users that contain the provided string in their email address.", "example": "mail@example.com" } }, { "description": "If provided, you'll get a list of users that have access to the project.", "example": "21a687e29ae1f428e7ebe606", "in": "query", "name": "project-id", "required": false, "schema": { "type": "string" } }, { "description": "If provided, you'll get a filtered list of users with the corresponding status.", "example": "ACTIVE", "in": "query", "name": "status", "required": false, "schema": { "type": "string", "enum": [ "PENDING", "ACTIVE", "DECLINED", "INACTIVE", "ALL" ] } }, { "description": "If provided, you'll get a filtered list of users with the corresponding account status filter. If not, this will only filter ACTIVE, PENDING_EMAIL_VERIFICATION, and NOT_REGISTERED Users.", "example": "LIMITED", "in": "query", "name": "account-statuses", "required": false, "schema": { "type": "string" } }, { "description": "If provided, you'll get a filtered list of users that contain the provided string in their name", "example": "John", "in": "query", "name": "name", "required": false, "schema": { "type": "string", "description": "If provided, you'll get a filtered list of users that contain the provided string in their name", "example": "John" } }, { "description": "Sorting column criteria. Default value: EMAIL", "example": "ID", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "EMAIL", "NAME", "NAME_LOWERCASE", "ACCESS", "HOURLYRATE", "COSTRATE" ] } }, { "description": "Sorting mode. Default value: ASCENDING", "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 } }, { "description": "If provided, you'll get all users along with workspaces, groups, or projects they have access to. Default value is NONE.", "example": "WORKSPACE", "in": "query", "name": "memberships", "required": false, "schema": { "type": "string", "enum": [ "ALL", "NONE", "WORKSPACE", "PROJECT", "USERGROUP" ] } }, { "description": "If you pass along includeRoles=true, you'll get each user's detailed manager role (including projects and members which they manage)", "in": "query", "name": "include-roles", "required": true, "schema": { "type": "string", "default": "false" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserDtoV1" } } } }, "description": "OK" } }, "summary": "Find all users on a workspace", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "description": "You can add users to a workspace via API only if that workspace has a paid subscription. If the workspace has a paid subscription, you can add as many users as you want but you are limited by the number of paid user seats on that workspace.", "operationId": "addUsers", "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": "Indicates whether to send an email when user is added to the workspace.", "in": "query", "name": "send-email", "required": true, "schema": { "type": "string", "default": "true" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddUserToWorkspaceRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Add user to a workspace", "tags": [ "Workspace" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/users/info": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "filterUsersOfWorkspace", "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/GetUsersRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserDtoV1" } } } }, "description": "OK" } }, "security": [ { "MarketplaceKeyAuth": [] }, { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ], "summary": "Filter workspace users", "tags": [ "User" ] } }, "/v1/workspaces/{workspaceId}/users/{userId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "deprecated": true, "description": "This endpoint is not functional and has been deprecated. A user can be removed/deleted on the CAKE.com Account Members page after deactivating all their existing memberships on all workspaces within an organization.", "operationId": "removeMember", "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": "89b687e29ae1f428e7ebe912", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Remove user from a workspace", "tags": [ "Workspace (Deprecated)" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateUserStatus", "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": "89b687e29ae1f428e7ebe912", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserStatusRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Update a user's status", "tags": [ "Workspace" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/users/{userId}/cost-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "setCostRateForUser", "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": "89b687e29ae1f428e7ebe912", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CostRateRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Update a user's cost rate", "tags": [ "Workspace" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/users/{userId}/custom-field/{customFieldId}/value": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "upsertUserCustomFieldValue", "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": "Represents custom field identifier across the system.", "example": "5e4117fe8c625f38930d57b7", "in": "path", "name": "customFieldId", "required": true, "schema": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "5e4117fe8c625f38930d57b7" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertUserCustomFieldRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCustomFieldValueDtoV1" } } }, "description": "Created" } }, "summary": "Update a user's custom field", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/users/{userId}/hourly-rate": { "servers": [ { "url": "https://api.clockify.me/api" } ], "put": { "operationId": "setHourlyRateForUser", "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": "89b687e29ae1f428e7ebe912", "in": "path", "name": "userId", "required": true, "schema": { "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HourlyRateRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceDtoV1" } } }, "description": "OK" } }, "summary": "Update a user's hourly rate", "tags": [ "Workspace" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/users/{userId}/managers": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getManagersOfUser", "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": "Sorting column criteria", "example": "ID", "in": "query", "name": "sort-column", "required": false, "schema": { "type": "string", "enum": [ "ID", "EMAIL", "NAME", "NAME_LOWERCASE", "ACCESS", "HOURLYRATE", "COSTRATE" ] } }, { "description": "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/UserDtoV1" } } } }, "description": "OK" } }, "summary": "Find user's team manager", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/users/{userId}/roles": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteUserRole", "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleRequestV1" } } }, "required": true }, "responses": { "204": { "description": "No Content" } }, "summary": "Remove user's manager role", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "operationId": "createUserRole", "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" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RoleDetailsDtoV1" } } } }, "description": "Created" } }, "summary": "Give manager role to a user", "tags": [ "User" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/webhooks": { "servers": [ { "url": "https://api.clockify.me/api" } ], "get": { "operationId": "getWebhooks", "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 webhook type.", "example": "USER_CREATED", "in": "query", "name": "type", "required": false, "schema": { "type": "string", "enum": [ "USER_CREATED", "SYSTEM", "ADDON" ] } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhooksDtoV1" } } }, "description": "OK" } }, "summary": "Get all webhooks on a workspace", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "description": "Creating a webhook generates a new token which can be used to verify that the webhook being sent was sent by Clockify, as it will always be present in the header.", "operationId": "createWebhook", "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/CreateWebhookRequestV1" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookDtoV1" } } }, "description": "Created" } }, "summary": "Create a webhook", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/webhooks/{webhookId}": { "servers": [ { "url": "https://api.clockify.me/api" } ], "delete": { "operationId": "deleteWebhook", "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 webhook identifier across the system.", "example": "5b715448b0798751107918ab", "in": "path", "name": "webhookId", "required": true, "schema": { "type": "string", "description": "Represents a webhook identifier across the system.", "example": "5b715448b0798751107918ab" } } ], "responses": { "200": { "description": "OK" } }, "summary": "Delete a webhook", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "get": { "operationId": "getWebhook", "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 webhook identifier across the system.", "example": "5b715448b0798751107918ab", "in": "path", "name": "webhookId", "required": true, "schema": { "type": "string", "description": "Represents a webhook identifier across the system.", "example": "5b715448b0798751107918ab" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookDtoV1" } } }, "description": "OK" } }, "summary": "Get a specific webhook by id", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "operationId": "updateWebhook", "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 webhook identifier across the system.", "example": "5b715448b0798751107918ab", "in": "path", "name": "webhookId", "required": true, "schema": { "type": "string", "description": "Represents a webhook identifier across the system.", "example": "5b715448b0798751107918ab" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhookRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookDtoV1" } } }, "description": "OK" } }, "summary": "Update a webhook", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/webhooks/{webhookId}/logs": { "servers": [ { "url": "https://api.clockify.me/api" } ], "post": { "operationId": "getLogsForWebhook", "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 webhook identifier across the system.", "in": "path", "name": "webhookId", "required": true, "schema": { "type": "string", "description": "Represents a webhook identifier across the system." } }, { "description": "Page number.", "example": 1, "in": "query", "name": "page", "required": false, "schema": { "type": "integer", "description": "Page number.", "format": "int32", "example": 1, "default": 0 } }, { "description": "Page size.", "example": 50, "in": "query", "name": "size", "required": false, "schema": { "minimum": 1, "type": "integer", "description": "Page size.", "format": "int32", "example": 50, "default": 50 } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookLogSearchRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WebhookLogDtoV1" } } } }, "description": "OK" } }, "summary": "Get logs for a webhook", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/webhooks/{webhookId}/token": { "servers": [ { "url": "https://api.clockify.me/api" } ], "patch": { "description": "Generates a new webhook token and invalidates previous one", "operationId": "generateNewToken", "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 webhook identifier across the system.", "example": "5b715448b0798751107918ab", "in": "path", "name": "webhookId", "required": true, "schema": { "type": "string", "description": "Represents a webhook identifier across the system.", "example": "5b715448b0798751107918ab" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookDtoV1" } } }, "description": "OK" } }, "summary": "Generate a new token", "tags": [ "Webhooks" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/shared-reports/{id}": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "get": { "description": "Response depends on report type and export type. Given example is for SUMMARY report and JSON exportType. \n\nShared report data on FREE subscription plan is limited to a maximum interval length of one month (31 days).", "operationId": "generateSharedReportV1", "parameters": [ { "in": "query", "name": "dateRangeStart", "schema": { "type": "string", "description": "Provide the start date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-01T00:00:00" } }, { "in": "query", "name": "dateRangeEnd", "schema": { "type": "string", "description": "Provide the end date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-30T23:59:59.999" } }, { "in": "query", "name": "sortOrder", "schema": { "type": "string", "description": "Sort result in ascending or descending order", "example": "ASCENDING" } }, { "in": "query", "name": "sortColumn", "schema": { "type": "string", "description": "If provided, you'll get result sorted by sort column." } }, { "in": "query", "name": "exportType", "schema": { "type": "string", "description": "Represents an export type of shared report", "example": "JSON" } }, { "in": "query", "name": "page", "schema": { "type": "integer", "format": "int32", "example": 1 } }, { "in": "query", "name": "pageSize", "schema": { "type": "integer", "format": "int32", "example": 20 } }, { "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a shared report identifier across the system.", "example": "61794f784363c45af78e5555" } } ], "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/TimeEntrySummaryReportDto" } } }, "description": "OK" } }, "summary": "Generate shared report by ID", "tags": [ "Shared Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/reports/attendance": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "post": { "operationId": "generateAttendanceReport", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AttendanceReportFilterV1" } } } }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/AttendanceReportDtoV1" } } }, "description": "OK" } }, "summary": "Generate an attendance report", "tags": [ "Team Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/reports/detailed": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "post": { "description": "Detailed report data on FREE subscription plan is limited to a maximum interval length of one month (31 days).", "operationId": "generateDetailedReport", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DetailedReportFilterV1" } } } }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/TimeEntryDetailedReportDto" } } }, "description": "OK" } }, "summary": "Generate a detailed report", "tags": [ "Time Entry Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/reports/expenses/detailed": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "post": { "description": "Expense report data on FREE subscription plan is limited to a maximum interval length of one month (31 days).", "operationId": "generateDetailedReportV1", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ec6bbb" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseReportFilterV1" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseDetailedReportDtoV1" } } }, "description": "OK" } }, "summary": "Generate an expense report", "tags": [ "Expense Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/reports/summary": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "post": { "description": "Summary report data on FREE subscription plan is limited to a maximum interval length of one month (31 days).", "operationId": "generateSummaryReport", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SummaryReportFilterV1" } } } }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/TimeEntrySummaryReportDto" } } }, "description": "OK" } }, "summary": "Generate a summary report", "tags": [ "Time Entry Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/reports/weekly": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "post": { "description": "Weekly report data on FREE subscription plan is limited to a maximum interval length of one month (31 days).", "operationId": "generateWeeklyReport", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WeeklyReportFilterV1" } } } }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/TimeEntryWeeklyReportDto" } } }, "description": "OK" } }, "summary": "Generate a weekly report", "tags": [ "Time Entry Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/shared-reports": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "get": { "description": "Gets all shared reports for current user on given workspace", "operationId": "getSharedReportsV1", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } }, { "in": "query", "name": "page", "schema": { "type": "integer", "format": "int32", "default": 1, "description": "Page number.", "example": 2 } }, { "in": "query", "name": "pageSize", "schema": { "type": "integer", "format": "int32", "default": 50, "description": "Page size.", "example": 20, "minimum": 1 } }, { "in": "query", "name": "sharedReportsFilter", "schema": { "type": "string", "default": "ALL", "description": "Filters shared reports by origin.", "enum": [ "ALL", "CREATED_BY_ME", "SHARED_WITH_ME" ], "example": "CREATED_BY_ME" } } ], "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/SharedReportsAndCountDtoV1" } } }, "description": "OK" } }, "summary": "Get all my shared reports", "tags": [ "Shared Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "post": { "description": "Saves shared report with name, options and report filter. \n\nShared report data on FREE subscription plan is limited to a maximum interval length of one month (31 days).", "operationId": "saveSharedReportV1", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedReportRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/SharedReportV1" } } }, "description": "OK" } }, "summary": "Create a shared report", "tags": [ "Shared Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/shared-reports/{id}": { "servers": [ { "url": "https://reports.api.clockify.me" } ], "delete": { "operationId": "deleteSharedReportV1", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a shared report identifier across the system.", "example": "61794f784363c45af78e5555" } }, { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } } ], "responses": { "204": { "description": "Success" } }, "summary": "Delete a shared report", "tags": [ "Shared Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] }, "put": { "description": "Updates shared report name and/or options", "operationId": "updateSharedReportV1", "parameters": [ { "in": "path", "name": "workspaceId", "required": true, "schema": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" } }, { "in": "path", "name": "id", "required": true, "schema": { "type": "string", "description": "Represents a shared report identifier across the system.", "example": "61794f784363c45af78e5555" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSharedReportRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/SharedReportV1" } } }, "description": "OK" } }, "summary": "Update a shared report", "tags": [ "Shared Report" ], "security": [ { "ApiKeyAuth": [] }, { "AddonKeyAuth": [] } ] } }, "/v1/workspaces/{workspaceId}/audit-log": { "servers": [ { "url": "https://auditlog-api.api.clockify.me" } ], "post": { "operationId": "getAuditLogs", "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/AuditLogGetRequestV1" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageableV1ListAuditLogDtoV1" } } }, "description": "OK" } }, "summary": "Generate an audit log report", "tags": [ "Audit Log Report" ], "security": [ { "ApiKeyAuth": [] } ] } } }, "components": { "schemas": { "AccountStatus": { "type": "object", "description": "Represents account status enum.", "example": "ACTIVE", "oneOf": [ { "type": "string", "enum": [ "ACTIVE", "PENDING_EMAIL_VERIFICATION", "DELETED", "NOT_REGISTERED", "LIMITED", "LIMITED_DELETED" ] } ], "properties": { "ACTIVE": { "type": "string", "enum": [ "ACTIVE", "PENDING_EMAIL_VERIFICATION", "DELETED", "NOT_REGISTERED", "LIMITED", "LIMITED_DELETED" ] }, "DELETED": { "type": "string", "enum": [ "ACTIVE", "PENDING_EMAIL_VERIFICATION", "DELETED", "NOT_REGISTERED", "LIMITED", "LIMITED_DELETED" ] }, "LIMITED": { "type": "string", "enum": [ "ACTIVE", "PENDING_EMAIL_VERIFICATION", "DELETED", "NOT_REGISTERED", "LIMITED", "LIMITED_DELETED" ] }, "LIMITED_DELETED": { "type": "string", "enum": [ "ACTIVE", "PENDING_EMAIL_VERIFICATION", "DELETED", "NOT_REGISTERED", "LIMITED", "LIMITED_DELETED" ] }, "NOT_REGISTERED": { "type": "string", "enum": [ "ACTIVE", "PENDING_EMAIL_VERIFICATION", "DELETED", "NOT_REGISTERED", "LIMITED", "LIMITED_DELETED" ] }, "PENDING_EMAIL_VERIFICATION": { "type": "string", "enum": [ "ACTIVE", "PENDING_EMAIL_VERIFICATION", "DELETED", "NOT_REGISTERED", "LIMITED", "LIMITED_DELETED" ] }, "active": { "type": "boolean" }, "limitedAccount": { "type": "boolean" }, "notRegistered": { "type": "boolean" } } }, "AddUserToWorkspaceRequest": { "required": [ "email" ], "type": "object", "properties": { "email": { "minLength": 1, "type": "string", "description": "Represents an email address of the user.", "example": "johndoe@example.com" } } }, "AddUsersToProjectRequestV1": { "type": "object", "properties": { "remove": { "type": "boolean", "description": "Setting this flag to 'true' will remove the given users from the project.", "default": false }, "userGroups": { "$ref": "#/components/schemas/UserGroupIdsSchema" }, "userIds": { "type": "array", "description": "Represents array of user ids which should be added/removed.", "example": [ "45b687e29ae1f428e7ebe123", "67s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents array of user ids which should be added/removed.", "example": "[\"45b687e29ae1f428e7ebe123\",\"67s687e29ae1f428e7ebe678\"]" } } } }, "ApplyTaxes": { "type": "object", "description": "Represents item applyTaxes type.", "example": "TAX1TAX2", "oneOf": [ { "type": "string", "enum": [ "TAX1", "TAX2", "TAX1TAX2", "NONE" ] } ], "properties": { "NONE": { "type": "string", "enum": [ "TAX1", "TAX2", "TAX1TAX2", "NONE" ] }, "TAX1": { "type": "string", "enum": [ "TAX1", "TAX2", "TAX1TAX2", "NONE" ] }, "TAX1TAX2": { "type": "string", "enum": [ "TAX1", "TAX2", "TAX1TAX2", "NONE" ] }, "TAX2": { "type": "string", "enum": [ "TAX1", "TAX2", "TAX1TAX2", "NONE" ] }, "value": { "type": "string" } } }, "ApprovalDetailsDtoV1": { "type": "object", "properties": { "approvalRequest": { "$ref": "#/components/schemas/ApprovalRequestDtoV1" }, "approvedTime": { "type": "string", "description": "Represents a time duration.", "example": "PT1H30M" }, "billableAmount": { "type": "number", "format": "double", "example": 2500 }, "billableTime": { "type": "string", "description": "Represents a time duration.", "example": "PT1H30M" }, "breakTime": { "type": "string", "description": "Represents a time duration.", "example": "PT1H30M" }, "costAmount": { "type": "number", "description": "Represents an amount.", "format": "double", "example": 5000 }, "entries": { "type": "array", "description": "Represents a list of time entry info data transfer objects.", "items": { "$ref": "#/components/schemas/TimeEntryInfoDto" } }, "expenseTotal": { "type": "number", "description": "Represents an amount.", "format": "double", "example": 7500 }, "expenses": { "type": "array", "description": "Represents a list of expense hydrated data transfer objects.", "items": { "$ref": "#/components/schemas/ExpenseHydratedDto" } }, "pendingTime": { "type": "string", "description": "Represents a time duration.", "example": "PT1H30M" }, "trackedTime": { "type": "string", "description": "Represents a time duration.", "example": "PT1H30M" } } }, "ApprovalRequestCreatorDtoV1": { "type": "object", "properties": { "userEmail": { "type": "string", "description": "Represents user email.", "example": "johhndoe@example.com" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "userName": { "type": "string", "description": "Represents user name.", "example": "johhndoe" } }, "description": "Represents approval request creator object." }, "ApprovalRequestDtoV1": { "type": "object", "properties": { "creator": { "$ref": "#/components/schemas/ApprovalRequestCreatorDtoV1" }, "dateRange": { "$ref": "#/components/schemas/DateRangeDto" }, "id": { "type": "string", "description": "Represents approval request identifier across the workspace.", "example": "567687e29ae1f428e7ebf564" }, "owner": { "$ref": "#/components/schemas/ApprovalRequestOwnerDtoV1" }, "status": { "$ref": "#/components/schemas/ApprovalRequestStatusDtoV1" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, "description": "Represents a valid approval request data transfer object." }, "ApprovalRequestOwnerDtoV1": { "type": "object", "properties": { "startOfWeek": { "type": "string", "description": "Represents a day of the week.", "example": "MONDAY", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "timeZone": { "type": "string", "description": "Represents time zone.", "example": "Europe/Budapest" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "userName": { "type": "string", "description": "Represents user name.", "example": "johndoe" } }, "description": "Represents approval request owner object." }, "ApprovalRequestStatusDtoV1": { "type": "object", "properties": { "note": { "type": "string", "description": "Represents an approval requesst note.", "example": "This is a sample approval request note." }, "state": { "type": "string", "description": "Represents approval state enum.", "example": "APPROVED", "enum": [ "PENDING", "APPROVED", "WITHDRAWN_SUBMISSION", "WITHDRAWN_APPROVAL", "REJECTED" ] }, "updatedAt": { "type": "string", "description": "Represents a date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T08:00:00Z" }, "updatedBy": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "updatedByUserName": { "type": "string", "description": "Represents user name.", "example": "juandelacruz" } }, "description": "Represents approval request status object." }, "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" } } }, "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" } } }, "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" } } }, "AuthorizationSourceDtoV1": { "type": "object", "properties": { "id": { "type": "string", "description": "Represents authorization source identifier across the system.", "example": "5b715612b079875110791234" }, "type": { "type": "string", "description": "Represents a valid authorization source type.", "example": "USER_GROUP", "enum": [ "USER_GROUP" ] } }, "description": "Represents an authorization data transfer object." }, "AutomaticAccrualDto": { "type": "object", "properties": { "amount": { "type": "number", "description": "Represents automatic accrual's amount", "format": "double", "example": 20 }, "period": { "type": "string", "description": "Represents automatic accrual's period", "example": "YEAR", "enum": [ "MONTH", "YEAR" ] }, "timeUnit": { "type": "string", "description": "Represents automatic accrual's time unit", "example": "DAYS", "enum": [ "DAYS", "HOURS" ] } }, "description": "Represents automatic approval settings." }, "AutomaticAccrualRequest": { "required": [ "amount" ], "type": "object", "properties": { "amount": { "minimum": 0, "type": "number", "description": "Represents amount of automatic accrual.", "format": "double", "example": 2 }, "period": { "type": "string", "description": "Represents automatic accrual period.", "example": "MONTH", "enum": [ "MONTH", "YEAR" ] }, "timeUnit": { "type": "string", "description": "Represents automatic accrual time unit.", "example": "DAYS", "enum": [ "DAYS", "HOURS" ] } }, "description": "Provide automatic accrual settings." }, "AutomaticLockDtoV1": { "type": "object", "properties": { "changeDay": { "type": "string", "description": "Represents a day of the week.", "example": "FRIDAY", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "dayOfMonth": { "type": "integer", "description": "Represents a day of month as integer.", "format": "int32", "example": 15 }, "firstDay": { "type": "string", "description": "Represents a day of the week.", "example": "MONDAY", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "olderThanPeriod": { "type": "string", "description": "Represents a time entry automatic lock period enum.", "example": "DAYS", "enum": [ "DAYS", "WEEKS", "MONTHS" ] }, "olderThanValue": { "type": "integer", "description": "Represents an integer as the criteria for locking time entries.", "format": "int32", "example": 5 }, "type": { "type": "string", "description": "Represents a time entry automatic lock type enum.", "example": "WEEKLY", "enum": [ "WEEKLY", "MONTHLY", "OLDER_THAN" ] } }, "description": "Represents an automatic lock object." }, "AutomaticTimeEntryCreationDto": { "type": "object", "properties": { "defaultEntities": { "$ref": "#/components/schemas/DefaultEntitiesDto" }, "enabled": { "type": "boolean" } }, "description": "Represents automatic time entry creation settings." }, "AutomaticTimeEntryCreationRequest": { "required": [ "defaultEntities" ], "type": "object", "properties": { "defaultEntities": { "$ref": "#/components/schemas/DefaultEntitiesRequest" }, "enabled": { "type": "boolean", "description": "Indicates that automatic time entry creation is enabled.", "default": false } }, "description": "Provides automatic time entry creation settings." }, "BalanceDtoV1": { "type": "object", "properties": { "balance": { "type": "number", "description": "Represents the balance amount of the time unit", "format": "double", "example": 20 }, "id": { "type": "string", "description": "Represent balance identifier across the system.", "example": "5b715448b079875110792222" }, "negativeBalanceAmount": { "type": "number", "description": "Represent negative balance amount.", "format": "double", "example": 2 }, "negativeBalanceLimit": { "type": "boolean", "description": "Indicates whether the negative balance limit is allowed.", "example": true, "default": false }, "policyArchived": { "type": "boolean", "description": "Indicates whether the policy is archived.", "example": false, "default": false }, "policyId": { "type": "string", "description": "Represent policy identifier across the system.", "example": "5b715448b079875110793333" }, "policyName": { "type": "string", "description": "Represent policy name.", "example": "Days" }, "policyTimeUnit": { "type": "string", "description": "Represent policy time unit.", "example": "DAYS", "enum": [ "DAYS", "HOURS" ] }, "total": { "type": "number", "description": "Represents the total amount", "format": "double", "example": 18 }, "used": { "type": "number", "description": "Represents the balance used amount", "format": "double", "example": 2 }, "userId": { "type": "string", "description": "Represent user identifier across the system.", "example": "5b715448b079875110791234" }, "userName": { "type": "string", "description": "Represent user's username.", "example": "nicholas" }, "workspaceId": { "type": "string", "description": "Represent workspace identifier across the system.", "example": "5b715448b079875110791111" } }, "description": "Represent the list of balances." }, "BalancesWithCountDtoV1": { "type": "object", "properties": { "balances": { "type": "array", "items": { "$ref": "#/components/schemas/BalanceDtoV1" } }, "count": { "type": "integer", "description": "Represents the count of balances.", "format": "int32", "example": 2 } } }, "BaseFilterRequest": { "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\"]" } } }, "description": "Represents a company filter object. If provided, you'll get a filtered list of invoices that matches the specified company filter." }, "CalculationType": { "type": "object", "description": "Represents an enum if tax is calculated as item based or invoice based.", "example": "INVOICE_BASED", "oneOf": [ { "type": "string", "enum": [ "INVOICE_BASED", "ITEM_BASED" ] } ], "properties": { "INVOICE_BASED": { "type": "string", "enum": [ "INVOICE_BASED", "ITEM_BASED" ] }, "ITEM_BASED": { "type": "string", "enum": [ "INVOICE_BASED", "ITEM_BASED" ] }, "value": { "type": "string" } } }, "ChangeInvoiceStatusRequestV1": { "type": "object", "properties": { "invoiceStatus": { "type": "string", "description": "Represents the invoice status to be set.", "example": "PAID", "enum": [ "UNSENT", "SENT", "PAID", "PARTIALLY_PAID", "VOID", "OVERDUE" ] } } }, "ChangePolicyStatusRequestV1": { "required": [ "status" ], "type": "object", "properties": { "status": { "type": "string", "description": "Provide the status you would like to use for changing the policy.", "example": "ACTIVE", "enum": [ "ACTIVE", "ARCHIVED", "ALL" ] } } }, "ClientDtoV1": { "type": "object", "properties": { "address": { "type": "string", "description": "Represents client's address.", "example": "Ground Floor, ABC Bldg., Palo Alto, California, USA 94020" }, "archived": { "type": "boolean", "description": "Represents whether a client is archived or not.", "default": false }, "ccEmails": { "type": "array", "description": "Represents additional emails for sending invoices.", "example": "clientx@example.com", "items": { "type": "string", "description": "Represents additional emails for sending invoices.", "example": "clientx@example.com" } }, "currencyId": { "type": "string", "description": "Represents currency identifier across the system.", "example": "33t687e29ae1f428e7ebe505" }, "email": { "type": "string", "description": "Represents client email.", "example": "clientx@example.com" }, "id": { "type": "string", "description": "Represents client identifier across the system.", "example": "44a687e29ae1f428e7ebe305" }, "name": { "type": "string", "description": "Represents client name.", "example": "Client X" }, "note": { "type": "string", "description": "Represents saved notes for the client.", "example": "This is a sample note for the client." }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "ClientWithCurrencyDtoV1": { "type": "object", "properties": { "address": { "type": "string", "description": "Represents client's address.", "example": "Ground Floor, ABC Bldg., Palo Alto, California, USA 94020" }, "archived": { "type": "boolean", "description": "Represents whether a client is archived or not.", "default": false }, "ccEmails": { "type": "array", "description": "Represents additional emails for sending invoices.", "example": "clientx@example.com", "items": { "type": "string", "description": "Represents additional emails for sending invoices.", "example": "clientx@example.com" } }, "currencyCode": { "type": "string", "description": "Represents client currency code.", "example": "USD" }, "currencyId": { "type": "string", "description": "Represents currency identifier across the system.", "example": "33t687e29ae1f428e7ebe505" }, "email": { "type": "string", "description": "Represents client email.", "example": "clientx@example.com" }, "id": { "type": "string", "description": "Represents client identifier across the system.", "example": "44a687e29ae1f428e7ebe305" }, "name": { "type": "string", "description": "Represents client name.", "example": "Client X" }, "note": { "type": "string", "description": "Represents saved notes for the client.", "example": "This is a sample note for the client." }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "ContainsArchivedFilterRequest": { "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": [ "ACTIVE", "ARCHIVED", "ALL" ] } }, "description": "Represents a project filter for imported items." }, "ContainsUserGroupFilterRequest": { "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": "Provide list with user group ids and corresponding status." }, "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." }, "ContainsUsersFilterRequestForHoliday": { "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": [ "ALL", "ACTIVE", "INACTIVE" ] }, "statuses": { "type": "array", "items": { "type": "string" } } }, "description": "Provide list with users ids and corresponding status." }, "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." }, "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" } } }, "CostRateRequest": { "type": "object", "properties": { "amount": { "minimum": 0, "type": "integer", "description": "Represents an amount as integer.", "format": "int32", "example": 2000 }, "since": { "type": "string", "description": "Represents a datetime in yyyy-MM-ddThh:mm:ssZ format.", "example": "2020-01-01T00:00:00Z" }, "sinceAsInstant": { "type": "string", "format": "date-time" } }, "description": "Represents a cost rate request object." }, "CostRateRequestV1": { "required": [ "amount" ], "type": "object", "properties": { "amount": { "minimum": 0, "type": "integer", "description": "Represents an amount as integer.", "format": "int32", "example": 20000 }, "since": { "type": "string", "description": "Represents a date and time in yyyy-MM-ddThh:mm:ssZ format.", "example": "2020-01-01T00:00:00Z" } } }, "CreateApprovalRequest": { "required": [ "periodStart" ], "type": "object", "properties": { "period": { "type": "string", "description": "Specifies the approval period. It has to match the workspace approval period setting.", "example": "MONTHLY", "enum": [ "WEEKLY", "SEMI_MONTHLY", "MONTHLY" ] }, "periodStart": { "minLength": 1, "type": "string", "description": "Specifies an approval period start date in yyyy-MM-ddThh:mm:ssZ format.", "example": "2020-01-01T00:00:00.000Z" } } }, "CreateClientRequestV1": { "type": "object", "properties": { "address": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents a client's address.", "example": "Ground Floor, ABC Bldg., Palo Alto, California, USA 94020" }, "email": { "type": "string", "format": "email", "description": "Represents a client email.", "example": "clientx@example.com" }, "name": { "maxLength": 100, "minLength": 0, "type": "string", "description": "Represents a client name.", "example": "Client X" }, "note": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents additional notes for the client.", "example": "This is a sample note for the client." } } }, "CreateCustomAttributeRequest": { "required": [ "name", "namespace", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "Represents custom attribute name.", "example": "race" }, "namespace": { "minLength": 1, "type": "string", "description": "Represents custom attribute namespace.", "example": "user_info" }, "value": { "minLength": 1, "type": "string", "description": "Represents custom attribute value.", "example": "Asian" } }, "description": "Represents a list of create custom field request objects." }, "CreateExpenseV1Request": { "required": [ "amount", "categoryId", "date", "file", "projectId", "userId" ], "type": "object", "properties": { "amount": { "maximum": 92233720368547760, "type": "number", "description": "Represents an expense amount as the double data type.", "format": "double", "example": 99.5 }, "billable": { "type": "boolean", "description": "Indicates whether expense is billable or not.", "default": false }, "categoryId": { "type": "string", "description": "Represents a category identifier across the system.", "example": "45y687e29ae1f428e7ebe890" }, "date": { "type": "string", "description": "Provides a valid yyyy-MM-ddThh:mm:ssZ format date.", "format": "date-time", "example": "2020-01-01T00:00:00Z" }, "file": { "type": "string", "format": "binary" }, "notes": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents notes for an expense.", "example": "This is a sample note for this expense." }, "projectId": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "userId": { "minLength": 1, "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" } } }, "CreateHolidayRequestV1": { "required": [ "datePeriod", "name" ], "type": "object", "properties": { "automaticTimeEntryCreation": { "$ref": "#/components/schemas/AutomaticTimeEntryCreationRequest" }, "color": { "pattern": "^#(?:[0-9a-fA-F]{6}){1}$", "type": "string", "description": "Provide color in 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": "#8BC34A" }, "datePeriod": { "$ref": "#/components/schemas/DatePeriodRequest" }, "everyoneIncludingNew": { "type": "boolean", "description": "Indicates whether the holiday is shown to new users.", "example": true, "default": false }, "name": { "maxLength": 100, "minLength": 2, "type": "string", "description": "Provide the name of the holiday.", "example": "Labour Day" }, "occursAnnually": { "type": "boolean", "description": "Indicates whether the holiday occurs annually.", "example": true, "default": false }, "userGroups": { "$ref": "#/components/schemas/UserGroupIdsSchema" }, "users": { "$ref": "#/components/schemas/UserIdsSchema" } } }, "CreateInvoiceDtoV1": { "type": "object", "properties": { "billFrom": { "type": "string", "description": "Represents to whom the invoice should be billed from.", "example": "Business X" }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "34p687e29ae1f428e7ebe562" }, "currency": { "type": "string", "description": "Represents the currency used by the invoice.", "example": "USD" }, "dueDate": { "type": "string", "description": "Represents an invoice due date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-06-01T08:00:00Z" }, "id": { "type": "string", "description": "Represents invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" }, "issuedDate": { "type": "string", "description": "Represents an invoice issued date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T08:00:00Z" }, "number": { "type": "string", "description": "Represents an invoice number.", "example": "202306121129" } } }, "CreateInvoiceItemRequestV1": { "required": [ "applyTaxes", "description", "itemType", "quantity", "unitPrice" ], "type": "object", "properties": { "applyTaxes": { "type": "string", "description": "Represents taxes applied to the invoice item. Applies only when the specified taxes are active on the invoice.", "example": "TAX1TAX2", "enum": [ "TAX1", "TAX2", "TAX1TAX2", "NONE" ] }, "description": { "type": "string", "description": "Represents an invoice item description.", "example": "This is a description of an invoice item." }, "itemType": { "minLength": 1, "type": "string", "description": "Represents an item type.", "example": "Service" }, "quantity": { "type": "integer", "description": "Represents an item quantity.", "format": "int64", "example": 10000 }, "unitPrice": { "type": "integer", "description": "Represents an item unit price.", "format": "int64", "example": 500 } } }, "CreateInvoicePaymentRequest": { "type": "object", "properties": { "amount": { "minimum": 1, "type": "integer", "description": "Represents an invoice payment amount as long.", "format": "int64", "example": 100 }, "note": { "maxLength": 1000, "minLength": 0, "type": "string", "description": "Represents an invoice payment note.", "example": "This is a sample note for this invoice payment." }, "paymentDate": { "type": "string", "description": "Represents an invoice payment date in yyyy-MM-ddThh:mm:ssZ format.", "example": "2021-01-01T12:00:00Z" } } }, "CreateInvoiceRequest": { "required": [ "clientId", "currency", "dueDate", "issuedDate", "number" ], "type": "object", "properties": { "clientId": { "minLength": 1, "type": "string", "description": "Represents a client identifier across the system.", "example": "98h687e29ae1f428e7ebe707" }, "currency": { "minLength": 1, "type": "string", "description": "Represents the currency used by the invoice.", "example": "USD" }, "dueDate": { "type": "string", "description": "Represents an invoice due date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-06-01T08:00:00Z" }, "issuedDate": { "type": "string", "description": "Represents an invoice issued date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T08:00:00Z" }, "number": { "minLength": 1, "type": "string", "description": "Represents an invoice number.", "example": "202306121129" }, "timeViewMode": { "type": "string", "enum": [ "TIME_SENSITIVE_VIEW", "AGGREGATED_TIME_VIEW" ] } } }, "CreatePolicyRequestV1": { "required": [ "approve", "name" ], "type": "object", "properties": { "allowHalfDay": { "type": "boolean", "description": "Indicates whether policy allows half days.", "example": false, "default": false }, "allowNegativeBalance": { "type": "boolean", "description": "Indicates whether policy allows negative balances.", "example": true, "default": false }, "approve": { "$ref": "#/components/schemas/PolicyApprovalDto" }, "archived": { "type": "boolean", "description": "Indicates whether policy is archived.", "example": true, "default": false }, "automaticAccrual": { "$ref": "#/components/schemas/AutomaticAccrualRequest" }, "automaticTimeEntryCreation": { "$ref": "#/components/schemas/AutomaticTimeEntryCreationRequest" }, "color": { "pattern": "^#(?:[0-9a-fA-F]{6}){1}$", "type": "string", "description": "Provide color in 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": "#8BC34A" }, "everyoneIncludingNew": { "type": "boolean", "description": "Indicates whether the policy is to be applied to future new users.", "example": false, "default": false }, "hasExpiration": { "type": "boolean", "description": "Indicates whether the policy balance should have expiration", "example": false, "default": false }, "icon": { "type": "string", "description": "Provide icon.", "example": "UMBRELLA", "enum": [ "UMBRELLA", "SNOWFLAKE", "FAMILY", "PLANE", "STETHOSCOPE", "HEALTH_METRICS", "CHILDCARE", "LUGGAGE", "MONETIZATION", "CALENDAR" ] }, "name": { "maxLength": 100, "minLength": 2, "type": "string", "description": "Represents a name of new policy.", "example": "Mental health days" }, "negativeBalance": { "$ref": "#/components/schemas/NegativeBalanceRequest" }, "timeUnit": { "type": "string", "description": "Indicates time unit of the policy. ", "example": "DAYS", "enum": [ "DAYS", "HOURS" ] }, "userGroups": { "$ref": "#/components/schemas/UserGroupIdsSchema" }, "users": { "$ref": "#/components/schemas/UserIdsSchema" } } }, "CreateProjectFromTemplateV1": { "required": [ "name", "templateProjectId" ], "type": "object", "properties": { "clientId": { "type": "string", "description": "Represents a client identifier across the system.", "example": "9t641568b07987035750704" }, "color": { "pattern": "^#(?:[0-9a-fA-F]{6}){1}$", "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" }, "isPublic": { "type": "boolean", "description": "Indicates whether the project is public or not.", "default": false }, "name": { "maxLength": 250, "minLength": 2, "type": "string", "description": "Represents a project name.", "example": "Software Development" }, "templateProjectId": { "minLength": 1, "type": "string", "description": "Represents a project identifier across the system.", "example": "5b641568b07987035750505e" } } }, "CreateTimeEntryRequest": { "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether a time entry is billable or not.", "default": false }, "customAttributes": { "maxItems": 10, "minItems": 0, "type": "array", "description": "Represents a list of create custom field request objects.", "items": { "$ref": "#/components/schemas/CreateCustomAttributeRequest" } }, "customFields": { "maxItems": 50, "minItems": 0, "type": "array", "description": "Represents a list of value objects for user’s custom fields.", "items": { "$ref": "#/components/schemas/UpdateCustomFieldRequest" } }, "description": { "maxLength": 3000, "type": "string", "description": "Represents time entry description.", "example": "This is a sample time entry description." }, "end": { "type": "string", "description": "Represents an end date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2021-01-01T00:00:00Z" }, "projectId": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "start": { "type": "string", "description": "Represents a start date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T00:00:00Z" }, "tagIds": { "type": "array", "description": "Represents a list of tag ids.", "example": [ "321r77ddd3fcab07cfbb567y", "44x777ddd3fcab07cfbb88f" ], "items": { "type": "string", "description": "Represents a list of tag ids.", "example": "[\"321r77ddd3fcab07cfbb567y\",\"44x777ddd3fcab07cfbb88f\"]" } }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "type": { "type": "string", "description": "Valid time entry type.", "enum": [ "REGULAR", "BREAK" ] } } }, "CreateTimeOffRequestV1Request": { "required": [ "timeOffPeriod" ], "type": "object", "properties": { "note": { "type": "string", "description": "Provide the note you would like to use for creating the time off request.", "example": "Create Time Off Note" }, "timeOffPeriod": { "$ref": "#/components/schemas/TimeOffRequestPeriodV1Request" } } }, "CreateWebhookRequestV1": { "required": [ "triggerSource", "triggerSourceType", "url", "webhookEvent" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 2, "type": "string", "description": "Represents a webhook name.", "example": "stripe" }, "triggerSource": { "type": "array", "description": "Represents a list of trigger sources.", "example": [ "54a687e29ae1f428e7ebe909", "87p187e29ae1f428e7ebej56" ], "items": { "type": "string", "description": "Represents a list of trigger sources.", "example": "[\"54a687e29ae1f428e7ebe909\",\"87p187e29ae1f428e7ebej56\"]" } }, "triggerSourceType": { "type": "string", "description": "Represents a webhook event trigger source type.", "example": "PROJECT_ID", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "url": { "minLength": 1, "type": "string", "description": "Represents a webhook target url.", "example": "https://example-clockify.com/stripeEndpoint" }, "webhookEvent": { "type": "string", "description": "Represents a webhook event type.", "example": "NEW_PROJECT", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] } } }, "CreateWorkspaceRequestV1": { "type": "object", "properties": { "name": { "maxLength": 50, "minLength": 1, "type": "string", "description": "Represents a workspace name.", "example": "Cool Company" }, "organizationId": { "type": "string", "description": "Represents the Cake organization identifier across the system.", "example": "67d471fb56aa9668b7bfa295" } } }, "CurrencyWithDefaultInfoDtoV1": { "type": "object", "properties": { "code": { "type": "string", "description": "Represents currency code.", "example": "USD" }, "id": { "type": "string", "description": "Represents currency identifier across the system.", "example": "5b641568b07987035750505e" }, "isDefault": { "type": "boolean", "description": "Indicates whether curency should be set as default.", "example": true, "default": false } }, "description": "Represents currency with default info object." }, "CustomFieldDefaultValuesDtoV1": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "5b641568b07987035750505e" }, "status": { "type": "string", "description": "Represents custom field status", "example": "VISIBLE" }, "value": { "type": "object", "description": "Represents a custom field's default value", "example": "Manila" } }, "description": "Represents a list of custom field default values data transfer objects." }, "CustomFieldDtoV1": { "type": "object", "properties": { "allowedValues": { "type": "array", "description": "Represents a list of custom field's allowed values.", "example": [ "New York", "London", "Manila", "Sydney", "Belgrade" ], "items": { "type": "string", "description": "Represents a list of custom field's allowed values.", "example": "[\"New York\",\"London\",\"Manila\",\"Sydney\",\"Belgrade\"]" } }, "description": { "type": "string", "description": "Represents custom field description.", "example": "This field contains a location." }, "entityType": { "type": "string", "description": "Represents custom field entity type", "example": "USER" }, "id": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "44a687e29ae1f428e7ebe305" }, "name": { "type": "string", "description": "Represents custom field name.", "example": "location" }, "onlyAdminCanEdit": { "type": "boolean", "description": "Flag to set whether custom field is modifiable only by admin users.", "default": false }, "placeholder": { "type": "string", "description": "Represents custom field placeholder value.", "example": "Location" }, "projectDefaultValues": { "type": "array", "description": "Represents a list of custom field default values data transfer objects.", "items": { "$ref": "#/components/schemas/CustomFieldDefaultValuesDtoV1" } }, "required": { "type": "boolean", "description": "Flag to set whether custom field is mandatory or not.", "default": false }, "status": { "type": "string", "description": "Represents custom field status", "example": "VISIBLE" }, "type": { "type": "string", "description": "Represents custom field type.", "example": "DROPDOWN_MULTIPLE" }, "workspaceDefaultValue": { "type": "object", "description": "Represents a custom field's default value in the workspace.", "example": "Manila" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "CustomFieldProjectDefaultValuesRequest": { "type": "object", "properties": { "defaultValue": { "type": "object", "description": "Represents a custom field's default value.", "example": "Manila" }, "status": { "type": "string", "description": "Represents a custom field status.", "example": "VISIBLE", "enum": [ "INACTIVE", "VISIBLE", "INVISIBLE" ] } } }, "CustomFieldRequestV1": { "required": [ "name", "type" ], "type": "object", "properties": { "allowedValues": { "type": "array", "description": "Represents a list of custom field's allowed values.", "example": [ "New York", "London", "Manila", "Sydney", "Belgrade" ], "items": { "type": "string", "description": "Represents a list of custom field's allowed values.", "example": "[\"New York\",\"London\",\"Manila\",\"Sydney\",\"Belgrade\"]" } }, "description": { "type": "string", "description": "Represents custom field description.", "example": "This field contains a location." }, "entityType": { "type": "string", "description": "Represents custom field entity type", "example": "TIMEENTRY", "enum": [ "TIMEENTRY", "USER" ] }, "name": { "type": "string", "description": "Represents custom field name.", "example": "location" }, "onlyAdminCanEdit": { "type": "boolean", "description": "Flag to set whether custom field is modifiable only by admin users.", "default": false }, "placeholder": { "type": "string", "description": "Represents custom field placeholder value.", "example": "Location" }, "status": { "type": "string", "description": "Represents custom field status", "example": "VISIBLE", "enum": [ "INACTIVE", "VISIBLE", "INVISIBLE" ] }, "type": { "type": "string", "description": "Represents custom field type.", "example": "DROPDOWN_MULTIPLE", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "workspaceDefaultValue": { "type": "object", "description": "Represents a custom field's default value in the workspace.
  • if type = NUMBER, then value must be a number
  • if type = DROPDOWN_MULTIPLE, value must be a list
  • if type = CHECKBOX, value must be true/false
  • otherwise any string
  • ", "example": "Manila" } } }, "CustomFieldType": { "type": "object", "description": "Represents custom field type.", "example": "TXT", "oneOf": [ { "type": "string", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] } ], "properties": { "CHECKBOX": { "type": "string", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "DROPDOWN_MULTIPLE": { "type": "string", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "DROPDOWN_SINGLE": { "type": "string", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "LINK": { "type": "string", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "NUMBER": { "type": "string", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "TXT": { "type": "string", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] } } }, "CustomFieldValueDto": { "type": "object", "properties": { "customFieldId": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "44a687e29ae1f428e7ebe305" }, "sourceType": { "type": "string", "description": "Represents a custom field value source type.", "example": "WORKSPACE", "enum": [ "WORKSPACE", "PROJECT", "TIMEENTRY" ] }, "timeEntryId": { "type": "string", "description": "Represents time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "value": { "type": "object", "description": "Represents custom field value.", "example": "20231211-12345" } }, "description": "Represents a list of custom field value objects." }, "CustomFieldValueDtoV1": { "type": "object", "properties": { "customFieldId": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "5e4117fe8c625f38930d57b7" }, "name": { "type": "string", "description": "Represents custom field name.", "example": "TIN" }, "timeEntryId": { "type": "string", "description": "Represents time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "type": { "type": "string", "description": "Represents a custom field value source type.", "example": "WORKSPACE" }, "value": { "type": "object", "description": "Represents custom field value.", "example": "20231211-12345" } }, "description": "Represents a list of custom field value objects." }, "DatePeriod": { "type": "object", "properties": { "endDate": { "type": "string", "format": "date" }, "startDate": { "type": "string", "format": "date" } }, "description": "Represents startDate and endDate of the holiday. Date is in format yyyy-mm-dd" }, "DatePeriodRequest": { "required": [ "endDate", "startDate" ], "type": "object", "properties": { "endDate": { "minLength": 1, "type": "string", "description": "yyyy-MM-dd format date", "example": "2023-02-16" }, "startDate": { "minLength": 1, "type": "string", "description": "yyyy-MM-dd format date", "example": "2023-02-14" } }, "description": "Provide startDate and endDate for the holiday." }, "DateRangeDto": { "type": "object", "properties": { "end": { "type": "string", "format": "date-time" }, "start": { "type": "string", "format": "date-time" } }, "description": "Represents date range object." }, "DefaultEntitiesDto": { "type": "object", "properties": { "projectId": { "type": "string" }, "taskId": { "type": "string" } } }, "DefaultEntitiesRequest": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Default project for automatically created time entries" }, "taskId": { "type": "string", "description": "Default task for automatically created time entries" } }, "description": "Provides information about default project and task for automatically created time entries." }, "EntityCreationPermission": { "type": "object", "description": "Represents an entity creation permission enum.", "example": "EVERYONE", "oneOf": [ { "type": "string", "enum": [ "ADMINS", "ADMINS_AND_PROJECT_MANAGERS", "EVERYONE" ] } ], "properties": { "ADMINS": { "type": "string", "enum": [ "ADMINS", "ADMINS_AND_PROJECT_MANAGERS", "EVERYONE" ] }, "ADMINS_AND_PROJECT_MANAGERS": { "type": "string", "enum": [ "ADMINS", "ADMINS_AND_PROJECT_MANAGERS", "EVERYONE" ] }, "EVERYONE": { "type": "string", "enum": [ "ADMINS", "ADMINS_AND_PROJECT_MANAGERS", "EVERYONE" ] }, "creators": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "EntityCreationPermissionsDtoV1": { "type": "object", "properties": { "whoCanCreateProjectsAndClients": { "$ref": "#/components/schemas/EntityCreationPermission" }, "whoCanCreateTags": { "$ref": "#/components/schemas/EntityCreationPermission" }, "whoCanCreateTasks": { "$ref": "#/components/schemas/EntityCreationPermission" } }, "description": "Represents an entity creation permission object." }, "EntityIdNameDto": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "description": "Contains names of user groups that are assigned to holiday." }, "EstimateDtoV1": { "type": "object", "properties": { "estimate": { "type": "string", "description": "Represents a task duration estimate.", "example": "PT1H30M" }, "type": { "type": "string", "description": "Represents an estimate type enum.", "example": "AUTO", "enum": [ "AUTO", "MANUAL" ] } }, "description": "Represents a project estimate object." }, "EstimateRequest": { "type": "object", "properties": { "estimate": { "type": "string", "description": "Represents a time duration in ISO-8601 format.", "example": "PT1H30M" }, "type": { "type": "string", "description": "Represents an estimate type enum.", "example": "AUTO", "enum": [ "AUTO", "MANUAL" ] } }, "description": "Represents an estimate request object." }, "EstimateResetDto": { "type": "object", "properties": { "dayOfMonth": { "type": "integer", "format": "int32" }, "dayOfWeek": { "type": "string", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "hour": { "type": "integer", "format": "int32" }, "interval": { "type": "string", "enum": [ "WEEKLY", "MONTHLY", "YEARLY" ] }, "month": { "type": "string", "enum": [ "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER" ] } }, "description": "Represents project estimate reset object" }, "EstimateResetRequest": { "type": "object", "properties": { "active": { "type": "boolean" }, "dayOfMonth": { "maximum": 31, "minimum": 1, "type": "integer", "description": "Represents a day of the month.", "format": "int32", "example": 20 }, "dayOfWeek": { "type": "string", "description": "Represents a day of the week.", "example": "MONDAY", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "hour": { "maximum": 23, "minimum": 0, "type": "integer", "description": "Represents an hour of the day in 24 hour time format.", "format": "int32", "example": 15 }, "interval": { "type": "string", "description": "Represents a reset option enum.", "example": "MONTHLY", "enum": [ "WEEKLY", "MONTHLY", "YEARLY" ] }, "isActive": { "type": "boolean", "writeOnly": true }, "month": { "type": "string", "description": "Represents a month enum.", "example": "FEBRUARY", "enum": [ "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER" ] } }, "description": "Represents estimate reset request object." }, "EstimateWithOptionsDto": { "type": "object", "properties": { "active": { "type": "boolean" }, "estimate": { "type": "integer", "description": "Represents an estimate as long.", "format": "int64", "example": 600000 }, "includeExpenses": { "type": "boolean", "description": "Indicates whether estimate includes non-billable or not.", "default": false }, "resetOption": { "type": "string", "description": "Represents a reset option enum.", "example": "WEEKLY", "enum": [ "WEEKLY", "MONTHLY", "YEARLY" ] }, "type": { "type": "string", "description": "Represents an estimate type enum.", "example": "AUTO", "enum": [ "AUTO", "MANUAL" ] } }, "description": "Represents a project budget estimate object." }, "EstimateWithOptionsRequest": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Flag whether to set estimate as active or not.", "default": false }, "estimate": { "minimum": 0, "type": "integer", "description": "Represents an estimate as long.", "format": "int64", "example": 10000 }, "includeExpenses": { "type": "boolean", "description": "Flag whether to include billable expenses.", "default": false }, "resetOption": { "type": "string", "description": "Represents a reset option enum.", "example": "MONTHLY", "enum": [ "WEEKLY", "MONTHLY", "YEARLY" ] }, "type": { "type": "string", "description": "Represents an estimate type enum.", "example": "AUTO", "enum": [ "AUTO", "MANUAL" ] } }, "description": "Represents estimate with options request object." }, "ExpenseCategoriesWithCountDtoV1": { "type": "object", "properties": { "categories": { "type": "array", "description": "Represents a list of expense categories data transfer object.", "items": { "$ref": "#/components/schemas/ExpenseCategoryDtoV1" } }, "count": { "type": "integer", "description": "Indicates the number of expense categories returned.", "format": "int32", "example": 20 } } }, "ExpenseCategoryArchiveV1Request": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Flag whether to archive the expense category or not.", "default": false } } }, "ExpenseCategoryDto": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Flag that indicates whether the expense category is archived or not.", "default": false }, "hasUnitPrice": { "type": "boolean", "description": "Represents whether expense category has unit price or none.", "default": false }, "id": { "type": "string", "description": "Represents expense category identifier across the system.", "example": "89a687e29ae1f428e7ebe303" }, "name": { "type": "string", "description": "Represents expense category name.", "example": "Procurement" }, "priceInCents": { "type": "integer", "description": "Represents price in cents as integer.", "format": "int32", "example": 1000 }, "unit": { "type": "string", "description": "Represents expense category unit.", "example": "piece" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, "description": "Represents an expense category object." }, "ExpenseCategoryDtoV1": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Flag that indicates whether the expense category is archived or not.", "default": false }, "hasUnitPrice": { "type": "boolean", "description": "Represents whether expense category has unit price or none.", "default": false }, "id": { "type": "string", "description": "Represents expense category identifier across the system.", "example": "89a687e29ae1f428e7ebe303" }, "name": { "type": "string", "description": "Represents expense category name.", "example": "Procurement" }, "priceInCents": { "type": "integer", "description": "Represents price in cents as integer.", "format": "int32", "example": 1000 }, "unit": { "type": "string", "description": "Represents expense category unit.", "example": "piece" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, "description": "Represents a list of expense categories data transfer object." }, "ExpenseCategoryV1Request": { "required": [ "name" ], "type": "object", "properties": { "hasUnitPrice": { "type": "boolean", "description": "Flag whether expense category has unit price or none.", "default": false }, "name": { "maxLength": 250, "minLength": 0, "type": "string", "description": "Represents a valid expense category name.", "example": "Procurement" }, "priceInCents": { "type": "integer", "description": "Represents price in cents as integer.", "format": "int32", "example": 1000 }, "unit": { "type": "string", "description": "Represents a valid expense category unit.", "example": "piece" } } }, "ExpenseDailyTotalsDtoV1": { "type": "object", "properties": { "date": { "type": "string", "description": "Represents a date in yyyy-MM-dd format.", "example": "2020-01-01" }, "dateAsInstant": { "type": "string", "format": "date-time" }, "total": { "type": "number", "description": "Represents expense total.", "format": "double", "example": 1500.75 } }, "description": "Represents a list of expense daily total data transfer objects." }, "ExpenseDtoV1": { "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether expense is billable or not.", "default": false }, "categoryId": { "type": "string", "description": "Represents category identifier across the system.", "example": "45y687e29ae1f428e7ebe890" }, "date": { "type": "string", "description": "Represents a date in yyyy-MM-dd format.", "example": "2020-01-01" }, "fileId": { "type": "string", "description": "Represents file identifier across the system.", "example": "745687e29ae1f428e7ebe890" }, "id": { "type": "string", "description": "Represents expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "isLocked": { "type": "boolean", "writeOnly": true }, "locked": { "type": "boolean" }, "notes": { "type": "string", "description": "Represents notes for an expense.", "example": "This is a sample note for this expense." }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "quantity": { "type": "number", "description": "Represents expense quantity as double data type.", "format": "double" }, "taskId": { "type": "string", "description": "Represents task identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "total": { "type": "number", "description": "Represents expense total as double data type.", "format": "double", "example": 10500.5 }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "ExpenseHydratedDto": { "type": "object", "properties": { "approvalRequestId": { "type": "string", "description": "Represents approval request identifier across the system.", "example": "445687e29ae1f428e7ebe893" }, "approvalStatus": { "type": "string", "description": "Represents the approval status of the expense", "example": "PENDING", "enum": [ "PENDING", "APPROVED", "UNSUBMITTED", "REJECTED", "WITHDRAWN_APPROVAL", "WITHDRAWN_SUBMISSION" ] }, "billable": { "type": "boolean", "description": "Indicates whether expense is billable or not.", "default": false }, "category": { "$ref": "#/components/schemas/ExpenseCategoryDto" }, "currency": { "type": "string", "description": "Represents a currency.", "example": "USD" }, "date": { "type": "string", "description": "Represents a date in yyyy-MM-dd format.", "example": "2020-01-01" }, "detailedApprovalStatus": { "type": "string", "description": "Represents a detailed approval status of the expense", "example": "PENDING", "enum": [ "PENDING", "APPROVED", "UNSUBMITTED", "REJECTED", "WITHDRAWN_APPROVAL", "WITHDRAWN_SUBMISSION" ] }, "fileId": { "type": "string", "description": "Represents file identifier across the system.", "example": "745687e29ae1f428e7ebe890" }, "fileName": { "type": "string", "description": "Represents file name.", "example": "file_12345.csv" }, "fileUrl": { "type": "string", "description": "Represents file URL." }, "id": { "type": "string", "description": "Represents expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "isLocked": { "type": "boolean", "writeOnly": true }, "locked": { "type": "boolean" }, "notes": { "type": "string", "description": "Represents notes for an expense.", "example": "This is a sample note for this expense." }, "project": { "$ref": "#/components/schemas/ProjectInfoDto" }, "quantity": { "type": "number", "description": "Represents expense quantity as double data type.", "format": "double" }, "task": { "$ref": "#/components/schemas/TaskInfoDto" }, "total": { "type": "number", "description": "Represents expense total as double data type.", "format": "double", "example": 10500.5 }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, "description": "Represents a list of expense hydrated data transfer objects." }, "ExpenseHydratedDtoV1": { "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether expense is billable or not.", "default": false }, "category": { "$ref": "#/components/schemas/ExpenseCategoryDto" }, "date": { "type": "string", "description": "Represents a date in yyyy-MM-dd format.", "example": "89b687e29ae1f428e7ebe912" }, "fileId": { "type": "string", "description": "Represents file identifier across the system.", "example": "745687e29ae1f428e7ebe890" }, "fileName": { "type": "string", "description": "Represents file name.", "example": "expense_20200101" }, "id": { "type": "string", "description": "Represents expense identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "isLocked": { "type": "boolean", "writeOnly": true }, "locked": { "type": "boolean" }, "notes": { "type": "string", "description": "Represents notes for an expense.", "example": "This is a sample note for this expense." }, "project": { "$ref": "#/components/schemas/ProjectInfoDto" }, "quantity": { "type": "number", "description": "Represents expense quantity as double data type.", "format": "double" }, "task": { "$ref": "#/components/schemas/TaskInfoDto" }, "total": { "type": "number", "description": "Represents expense total as double data type.", "format": "double", "example": 10500.5 }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, "description": "Represent a list of hydrated expense objects." }, "ExpenseWeeklyTotalsDtoV1": { "type": "object", "properties": { "date": { "type": "string", "description": "Represents a date in yyyy-MM-dd format.", "example": "2020-01-01" }, "total": { "type": "number", "description": "Represents expense total.", "format": "double", "example": 20000.75 } }, "description": "Represents a list of expense weekly total data transfer objects." }, "ExpensesAndTotalsDtoV1": { "type": "object", "properties": { "dailyTotals": { "type": "array", "description": "Represents a list of expense daily total data transfer objects.", "items": { "$ref": "#/components/schemas/ExpenseDailyTotalsDtoV1" } }, "expenses": { "$ref": "#/components/schemas/ExpensesWithCountDtoV1" }, "weeklyTotals": { "type": "array", "description": "Represents a list of expense weekly total data transfer objects.", "items": { "$ref": "#/components/schemas/ExpenseWeeklyTotalsDtoV1" } } } }, "ExpensesWithCountDtoV1": { "type": "object", "properties": { "count": { "type": "integer", "description": "Represent result count.", "format": "int32", "example": 25 }, "expenses": { "type": "array", "description": "Represent a list of hydrated expense objects.", "items": { "$ref": "#/components/schemas/ExpenseHydratedDtoV1" } } }, "description": "Represents an expense with count data transfer object." }, "Feature": { "type": "object", "description": "Represents a list of features.", "example": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL" ], "oneOf": [ { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] } ], "properties": { "ADD_TIME_FOR_OTHERS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "ADMIN_PANEL": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "ALERTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "APPROVAL": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "ATTENDANCE_REPORT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "AUDIT_LOG": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "AUTOMATIC_LOCK": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "BILLABLE_HOURS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "BRANDED_REPORTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "BREAKS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "BULK_EDIT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "CLIENT_CURRENCY": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "CREATION_PERMISSIONS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "CSV_EXPORT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "CUSTOM_FIELDS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "CUSTOM_REPORTING": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "CUSTOM_SUBDOMAIN": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "DECIMAL_FORMAT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "DISABLE_MANUAL_MODE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "EDIT_MEMBER_PROFILE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "EXPENSES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "FAVORITE_ENTRIES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "FILE_IMPORT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "FORECASTING": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "GRANT_PROJECT_MANAGER_ROLE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "HIDE_PAGES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "HISTORIC_RATES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "INVOICE_EMAILS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "INVOICE_REMINDERS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "INVOICING": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "KIOSK": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "KIOSK_PIN_REQUIRED": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "KIOSK_QR_CODE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "KIOSK_SESSION_DURATION": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "KIOSK_SIX_DIGIT_PIN": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "LABOR_COST": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "LIMITED_USERS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "LOCATIONS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "MANAGER_ROLE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "MULTI_FACTOR_AUTHENTICATION": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "ONE_MONTH_RANGE_REPORTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "ONE_YEAR_RANGE_REPORTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "PRIVATE_PROJECT_ACCESS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "PROJECT_BUDGET": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "PROJECT_ESTIMATE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "PROJECT_TEMPLATES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "QUICKBOOKS_INTEGRATION": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "RECURRING_ESTIMATES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "RECURRING_INVOICES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "REQUIRED_FIELDS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SCHEDULED_REPORTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SCHEDULING": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SCHEDULING_FORECASTING": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SCIM": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SCREENSHOTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SHARED_REPORTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SPLIT_TIME_ENTRY": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SSO": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "SUMMARY_ESTIMATE": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "TARGETS_AND_REMINDERS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "TASK_RATES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "TIMESHEET_IMPORT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "TIME_OFF": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "TIME_TRACKING": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "UNLIMITED_REPORTS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "UNLIMITED_USER_SEATS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "USER_CUSTOM_FIELDS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "USER_IMPORT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WHO_CAN_SEE_ALL_TIME_ENTRIES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WHO_CAN_SEE_PROJECT_STATUS": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WHO_CAN_SEE_TEAMS_DASHBOARD": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WORKSPACE_LOCK_TIMEENTRIES": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WORKSPACE_TIME_AUDIT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WORKSPACE_TIME_ROUNDING": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "WORKSPACE_TRANSFER": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "XLSX_EXPORT": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] } } }, "FeaturePlan": { "type": "object", "description": "Represents a feature plan type enum.", "example": "STANDARD_2021", "oneOf": [ { "$ref": "#/components/schemas/FeaturePlan" } ], "properties": { "addonSubscriptionPlan": { "type": "string", "enum": [ "FREE", "BASIC", "STANDARD", "PRO", "ENTERPRISE" ] }, "featurePermissions": { "uniqueItems": true, "type": "array", "items": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] } }, "legacy": { "type": "boolean" }, "paidPlan": { "type": "boolean" }, "regionalAllowed": { "type": "boolean" }, "weight": { "type": "integer", "format": "int32" } } }, "GetTimeOffRequestsV1Request": { "type": "object", "properties": { "end": { "type": "string", "description": "Return time off requests created before the specified time in requester's time zone. Provide end in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "format": "date-time", "example": "2022-08-26T23:55:06.281873Z" }, "page": { "maximum": 1000, "type": "integer", "description": "Page number.", "format": "int32", "example": 1, "default": 1 }, "pageSize": { "maximum": 200, "minimum": 1, "type": "integer", "description": "Page size.", "format": "int32", "example": 50, "default": 50 }, "start": { "type": "string", "description": "Return time off requests created after the specified time in requester's time zone. Provide start in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "format": "date-time", "example": "2022-08-26T08:00:06.281873Z" }, "statuses": { "uniqueItems": true, "type": "array", "description": "Filters time off requests by status.", "example": [ "APPROVED", "PENDING" ], "items": { "type": "string", "description": "Filters time off requests by status.", "example": "[\"APPROVED\",\"PENDING\"]", "enum": [ "PENDING", "APPROVED", "REJECTED", "ALL" ] } }, "userGroups": { "uniqueItems": true, "type": "array", "description": "Provide the user group ids of time off requests.", "example": [ "5b715612b079875110791342", "5b715612b079875110791324", "5b715612b079875110793142" ], "items": { "type": "string", "description": "Provide the user group ids of time off requests.", "example": "[\"5b715612b079875110791342\",\"5b715612b079875110791324\",\"5b715612b079875110793142\"]" } }, "users": { "uniqueItems": true, "type": "array", "description": "Provide the user ids of time off requests. If empty, will return time off requests of all users (with a maximum of 5000 users).", "example": [ "5b715612b079875110791432", "b715612b079875110791234" ], "items": { "type": "string", "description": "Provide the user ids of time off requests. If empty, will return time off requests of all users (with a maximum of 5000 users).", "example": "[\"5b715612b079875110791432\",\"b715612b079875110791234\"]" } } } }, "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" } } }, "GetUsersRequestV1": { "type": "object", "properties": { "accountStatuses": { "uniqueItems": true, "type": "array", "description": "If provided, you'll get a filtered list of users with the corresponding account status filter. If not, this will only filter ACTIVE, PENDING_EMAIL_VERIFICATION, and NOT_REGISTERED Users.", "example": [ "LIMITED", "ACTIVE" ], "items": { "type": "string", "description": "If provided, you'll get a filtered list of users with the corresponding account status filter. If not, this will only filter ACTIVE, PENDING_EMAIL_VERIFICATION, and NOT_REGISTERED Users.", "example": "[\"LIMITED\",\"ACTIVE\"]" } }, "email": { "type": "string", "description": "If provided, you'll get a filtered list of users that contain the provided string in their email address.", "example": "mail@example.com" }, "includeRoles": { "type": "boolean", "description": "If you pass along includeRoles=true, you'll get each user's detailed manager role (including projects and members for whom they're managers)", "default": false }, "memberships": { "type": "string", "description": "If provided, you'll get all users along with workspaces, groups, or projects they have access to.", "example": "NONE", "enum": [ "ALL", "NONE", "WORKSPACE", "PROJECT", "USERGROUP" ], "default": "NONE" }, "name": { "type": "string", "description": "If provided, you'll get a filtered list of users that contain the provided string in their name.", "example": "John" }, "page": { "type": "integer", "description": "Page number.", "format": "int32", "example": 1, "default": 1 }, "pageSize": { "minimum": 1, "type": "integer", "description": "Page size.", "format": "int32", "example": 50, "default": 50 }, "projectId": { "type": "string", "description": "If provided, you'll get a list of users that have access to the project.", "example": "21a687e29ae1f428e7ebe606" }, "roles": { "uniqueItems": true, "type": "array", "description": "If provided, you'll get a filtered list of users that have any of the specified roles. Owners are counted as admins when filtering.", "example": [ "WORKSPACE_ADMIN", "OWNER" ], "items": { "type": "string", "description": "If provided, you'll get a filtered list of users that have any of the specified roles. Owners are counted as admins when filtering.", "example": "[\"WORKSPACE_ADMIN\",\"OWNER\"]", "enum": [ "WORKSPACE_ADMIN", "OWNER", "TEAM_MANAGER", "PROJECT_MANAGER" ] } }, "sortColumn": { "type": "string", "description": "Sorting criteria", "example": "ID", "enum": [ "ID", "EMAIL", "NAME", "NAME_LOWERCASE", "ACCESS", "HOURLYRATE", "COSTRATE" ] }, "sortOrder": { "type": "string", "description": "Sorting mode", "example": "ASCENDING", "enum": [ "ASCENDING", "DESCENDING" ] }, "status": { "type": "string", "description": "If provided, you'll get a filtered list of users with the corresponding status.", "example": "ACTIVE", "enum": [ "PENDING", "ACTIVE", "DECLINED", "INACTIVE", "ALL" ] }, "userGroups": { "uniqueItems": true, "type": "array", "description": "If provided, you'll get a list of users that belong to the specified user group IDs.", "example": [ "5a0ab5acb07987125438b60f", "72wab5acb07987125438b564" ], "items": { "type": "string", "description": "If provided, you'll get a list of users that belong to the specified user group IDs.", "example": "[\"5a0ab5acb07987125438b60f\",\"72wab5acb07987125438b564\"]" } } } }, "HolidayDto": { "type": "object", "properties": { "automaticTimeEntryCreation": { "$ref": "#/components/schemas/AutomaticTimeEntryCreationDto" }, "color": { "type": "string", "description": "Provide color in 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": "#8BC34A" }, "datePeriod": { "$ref": "#/components/schemas/DatePeriod" }, "everyoneIncludingNew": { "type": "boolean", "description": "Indicates whether the holiday is shown to new users.", "example": false, "default": false }, "id": { "type": "string", "description": "Represents holiday identifier across the system.", "example": "5b715612b079875110791111" }, "name": { "type": "string", "description": "Represents the name of the holiday.", "example": "New Year's Day" }, "occursAnnually": { "type": "boolean", "description": "Indicates whether the holiday occurs annually.", "example": true, "default": false }, "userGroupIds": { "uniqueItems": true, "type": "array", "description": "Indicates which user groups are included.", "example": [ "5b715612b079875110791342", "5b715612b079875110791324", "5b715612b079875110793142" ], "items": { "type": "string", "description": "Indicates which user groups are included.", "example": "[\"5b715612b079875110791342\",\"5b715612b079875110791324\",\"5b715612b079875110793142\"]" } }, "userGroups": { "type": "array", "description": "Contains names of user groups that are assigned to holiday.", "items": { "$ref": "#/components/schemas/EntityIdNameDto" } }, "userIds": { "uniqueItems": true, "type": "array", "description": "Indicates which users are included.", "example": [ "5b715612b079875110791432", "5b715612b079875110791234" ], "items": { "type": "string", "description": "Indicates which users are included.", "example": "[\"5b715612b079875110791432\",\"5b715612b079875110791234\"]" } }, "users": { "type": "array", "description": "Contains names of users that are assigned to holiday.", "items": { "$ref": "#/components/schemas/EntityIdNameDto" } }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5b715612b079875110792222" } } }, "HolidayDtoV1": { "type": "object", "properties": { "automaticTimeEntryCreation": { "type": "boolean", "description": "Indicates that time entries will be automatically created for this holiday.", "example": false, "default": false }, "datePeriod": { "$ref": "#/components/schemas/DatePeriod" }, "everyoneIncludingNew": { "type": "boolean", "description": "Indicates whether the holiday is shown to new users.", "example": false, "default": false }, "id": { "type": "string", "description": "Represents holiday identifier across the system.", "example": "5b715612b079875110791111" }, "name": { "type": "string", "description": "Represents the name of the holiday.", "example": "New Year's Day" }, "occursAnnually": { "type": "boolean", "description": "Indicates whether the holiday occurs annually.", "example": true, "default": false }, "projectId": { "type": "string", "description": "Represents projectId for automatic time entry creation.", "example": "65b36d3c525e243c48f9150f" }, "taskId": { "type": "string", "description": "Represents taskId for automatic time entry creation.", "example": "65b36d46fa3df8607e42d21a" }, "userGroupIds": { "uniqueItems": true, "type": "array", "description": "Indicates which user groups are included.", "example": [ "5b715612b079875110791342", "5b715612b079875110791324", "5b715612b079875110793142" ], "items": { "type": "string", "description": "Indicates which user groups are included.", "example": "[\"5b715612b079875110791342\",\"5b715612b079875110791324\",\"5b715612b079875110793142\"]" } }, "userIds": { "uniqueItems": true, "type": "array", "description": "Indicates which users are included.", "example": [ "5b715612b079875110791432", "5b715612b079875110791234" ], "items": { "type": "string", "description": "Indicates which users are included.", "example": "[\"5b715612b079875110791432\",\"5b715612b079875110791234\"]" } }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5b715612b079875110792222" } } }, "HourlyRateDtoV1": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents an amount as integer.", "format": "int32", "example": 10500 }, "currency": { "type": "string", "description": "Represents a currency.", "example": "USD" } }, "description": "Represents an hourly rate object." }, "HourlyRateRequest": { "required": [ "amount" ], "type": "object", "properties": { "amount": { "minimum": 0, "type": "integer", "description": "Represents a cost rate amount as integer.", "format": "int32", "example": 20000 }, "since": { "type": "string", "description": "Represents a datetime in yyyy-MM-ddThh:mm:ssZ format.", "example": "2020-01-01T00:00:00Z" } }, "description": "Represents an hourly rate request object." }, "HourlyRateRequestV1": { "required": [ "amount" ], "type": "object", "properties": { "amount": { "minimum": 0, "type": "integer", "description": "Represents an hourly rate amount as integer.", "format": "int32", "example": 20000 }, "since": { "type": "string", "description": "Represents a date and time in yyyy-MM-ddThh:mm:ssZ format.", "example": "2020-01-01T00:00:00Z" } } }, "ImportTimeEntriesAndExpensesRequestV1": { "required": [ "from", "importExpenses", "projectFilter", "timeEntryGroupType", "to" ], "type": "object", "properties": { "expenseFieldsForDetailedGroup": { "uniqueItems": true, "type": "array", "description": "Represents a set of expense fields to include when using the DETAILED expense grouping type.", "example": [ "NOTE" ], "items": { "type": "string", "description": "Represents a set of expense fields to include when using the DETAILED expense grouping type.", "example": "[\"NOTE\"]", "enum": [ "PROJECT", "TASK", "CATEGORY", "NOTE", "DATE", "USER" ], "default": "NOTE" }, "default": "NOTE" }, "expensesGroupBy": { "type": "string", "description": "Represents a group field when using the GROUPED expense group type.", "example": "CATEGORY", "enum": [ "CATEGORY", "PROJECT", "USER" ], "default": "PROJECT" }, "expensesGroupType": { "type": "string", "description": "Represents an expense group type.", "enum": [ "GROUPED", "DETAILED" ], "default": "DETAILED" }, "from": { "type": "string", "description": "Represents date and time in the yyyy-MM-ddThh:mm:ssZ format.", "example": "2025-06-01T00:00:00Z" }, "importExpenses": { "type": "boolean", "description": "Indicates if billable expenses should be imported alongside time entries.", "default": false }, "projectFilter": { "$ref": "#/components/schemas/ContainsArchivedFilterRequest" }, "roundTimeEntryDuration": { "type": "boolean", "description": "Indicates if imported time entry durations should be rounded to the nearest 15 minute interval.", "default": false }, "timeEntryFieldsForDetailedGroup": { "uniqueItems": true, "type": "array", "description": "Represents a set of time entry fields to include when using DETAILED time entry grouping type.", "example": [ "PROJECT", "DESCRIPTION" ], "items": { "type": "string", "description": "Represents a set of time entry fields to include when using DETAILED time entry grouping type.", "example": "[\"PROJECT\",\"DESCRIPTION\"]", "enum": [ "PROJECT", "TASK", "TAGS", "DESCRIPTION", "DATE", "USER" ] } }, "timeEntryGroupType": { "type": "string", "description": "Represents a time entry group type.", "example": "GROUPED", "enum": [ "SINGLE_ITEM", "GROUPED", "DETAILED" ] }, "timeEntryPrimaryGroupBy": { "type": "string", "description": "Represents a primary group field when using the GROUPED time entry grouping type.", "example": "PROJECT", "enum": [ "USER", "PROJECT", "DATE" ] }, "timeEntrySecondaryGroupBy": { "type": "string", "description": "Represents a secondary group field when using the GROUPED time entry grouping type. Should not have the same grouping type as the primary group field.", "example": "TASK", "enum": [ "PROJECT", "USER", "TASK", "DATE", "DESCRIPTION", "NONE" ] }, "to": { "type": "string", "description": "Represents date and time in the yyyy-MM-ddThh:mm:ssZ format.", "example": "2025-06-07T00:00:00Z" } } }, "InvoiceDefaultSettingsDto": { "type": "object", "properties": { "companyId": { "type": "string", "description": "Represents company identifier across the system.", "example": "34a687e29ae1f428e7ebe101" }, "defaultImportExpenseItemTypeId": { "type": "string", "description": "Represents item type identifier across the system.", "example": "88a687e29ae1f428e7ebe303" }, "defaultImportTimeItemTypeId": { "type": "string", "description": "Represents item type identifier across the system.", "example": "18a687e29ae1f428e7ebe303" }, "dueDays": { "type": "integer", "description": "Represents an invoice number of due days.", "format": "int32", "example": 2 }, "itemType": { "type": "string", "writeOnly": true }, "itemTypeId": { "type": "string", "description": "Represents item type identifier across the system.", "example": "78a687e29ae1f428e7ebe303" }, "notes": { "type": "string", "description": "Represents an invoice note.", "example": "This is a sample note for this invoice." }, "subject": { "type": "string", "description": "Represents an invoice subject.", "example": "January salary" }, "tax": { "type": "integer", "format": "int64", "deprecated": true }, "tax2": { "type": "integer", "format": "int64", "deprecated": true }, "tax2Percent": { "type": "number", "description": "Represents a tax amount in percentage.", "format": "double", "example": 1 }, "taxPercent": { "type": "number", "description": "Represents a tax amount in percentage.", "format": "double", "example": 5 }, "taxType": { "type": "string", "description": "Represents a tax type.", "example": "COMPOUND", "enum": [ "COMPOUND", "SIMPLE", "NONE" ] } }, "description": "Represents an invoice default settings object." }, "InvoiceDefaultSettingsRequestV1": { "required": [ "notes", "subject" ], "type": "object", "properties": { "companyId": { "type": "string", "description": "Represents company identifier across the system.", "example": "34a687e29ae1f428e7ebe101" }, "dueDays": { "type": "integer", "description": "Represents an invoice number of due days.", "format": "int32", "example": 2 }, "itemTypeId": { "type": "string", "description": "Represents item type identifier across the system.", "example": "78a687e29ae1f428e7ebe303" }, "notes": { "type": "string", "description": "Represents an invoice note.", "example": "This is a sample note for this invoice." }, "subject": { "type": "string", "description": "Represents an invoice subject.", "example": "January salary" }, "tax2Percent": { "type": "number", "description": "Represents a tax amount in percentage.", "format": "double", "example": 5 }, "taxPercent": { "type": "number", "description": "Represents a tax amount in percentage.", "format": "double", "example": 5 }, "taxType": { "type": "string", "description": "Represents a tax type.", "example": "COMPOUND", "enum": [ "COMPOUND", "SIMPLE", "NONE" ] } }, "description": "Represents an invoice default settings object." }, "InvoiceDtoV1": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents an invoice amount as long.", "format": "int64", "example": 100 }, "balance": { "type": "integer", "description": "Represents an invoice balance amount as long.", "format": "int64", "example": 50 }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "98h687e29ae1f428e7ebe707" }, "clientName": { "type": "string", "description": "Represents client name for an invoice.", "example": "Client X" }, "currency": { "type": "string", "description": "Represents the currency used by the invoice.", "example": "USD" }, "dueDate": { "type": "string", "description": "Represents an invoice due date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-06-01T08:00:00Z" }, "id": { "type": "string", "description": "Represents invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" }, "issuedDate": { "type": "string", "description": "Represents an invoice issued date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T08:00:00Z" }, "number": { "type": "string", "description": "Represents an invoice number.", "example": "202306121129" }, "paid": { "type": "integer", "description": "Represents an invoice paid amount as long.", "format": "int64", "example": 50 }, "status": { "type": "string", "description": "Represents the status of an invoice.", "example": "PAID", "enum": [ "UNSENT", "SENT", "PAID", "PARTIALLY_PAID", "VOID", "OVERDUE" ] } }, "description": "Represents a list of invoices." }, "InvoiceExportFields": { "type": "object", "properties": { "RTL": { "type": "boolean", "writeOnly": true }, "itemType": { "type": "boolean" }, "quantity": { "type": "boolean" }, "rtl": { "type": "boolean" }, "tax": { "type": "boolean" }, "tax2": { "type": "boolean" }, "unitPrice": { "type": "boolean" } }, "description": "Represents an invoice export fields object." }, "InvoiceExportFieldsRequest": { "type": "object", "properties": { "itemType": { "type": "boolean", "description": "Indicates whether to export item type.", "default": false }, "quantity": { "type": "boolean", "description": "Indicates whether to export quantity.", "default": false }, "rtl": { "type": "boolean", "description": "Indicates whether to export RTL.", "default": false }, "tax": { "type": "boolean", "description": "Indicates whether to export tax.", "default": false }, "tax2": { "type": "boolean", "description": "Indicates whether to export tax2.", "default": false }, "unitPrice": { "type": "boolean", "description": "Indicates whether to export unit price.", "default": false } }, "description": "Represents an invoice export fields object." }, "InvoiceFilterRequestV1": { "type": "object", "properties": { "clients": { "$ref": "#/components/schemas/ContainsArchivedFilterRequest" }, "companies": { "$ref": "#/components/schemas/BaseFilterRequest" }, "exactAmount": { "type": "integer", "description": "Represents an invoice amount. If provided, you'll get a filtered list of invoices that has the equal amount as specified.", "format": "int64", "example": 1000 }, "exactBalance": { "type": "integer", "description": "Represents an invoice balance. If provided, you'll get a filtered list of invoices that has the equal balance as specified.", "format": "int64", "example": 1000 }, "greaterThanAmount": { "type": "integer", "description": "Represents an invoice amount. If provided, you'll get a filtered list of invoices that has amount greater than specified.", "format": "int64", "example": 500 }, "greaterThanBalance": { "type": "integer", "description": "Represents an invoice balance. If provided, you'll get a filtered list of invoices that has balance greater than specified.", "format": "int64", "example": 500 }, "invoiceNumber": { "type": "string", "description": "If provided, you'll get a filtered list of invoices that contain the provided string in their invoice number.", "example": "Invoice-01" }, "issueDate": { "$ref": "#/components/schemas/TimeRangeRequestDtoV1" }, "lessThanAmount": { "type": "integer", "description": "Represents an invoice amount. If provided, you'll get a filtered list of invoices that has amount less than specified.", "format": "int64", "example": 500 }, "lessThanBalance": { "type": "integer", "description": "Represents an invoice balance. If provided, you'll get a filtered list of invoices that has balance less than specified.", "format": "int64", "example": 500 }, "page": { "type": "integer", "description": "Page number.", "format": "int32", "default": 1 }, "pageSize": { "type": "integer", "description": "Page size.", "format": "int32", "default": 50 }, "sortColumn": { "type": "string", "description": "Represents the column name to be used as sorting criteria.", "example": "ID", "enum": [ "ID", "CLIENT", "DUE_ON", "ISSUE_DATE", "AMOUNT", "BALANCE" ] }, "sortOrder": { "type": "string", "description": "Represents the sorting order.", "example": "ASCENDING", "enum": [ "ASCENDING", "DESCENDING" ] }, "statuses": { "type": "array", "description": "Represents a list of invoice statuses. If provided, you'll get a filtered list of invoices that matches any of the invoice status provided.", "example": [ "SENT", "PAID", "PARTIALLY_PAID" ], "items": { "type": "string", "description": "Represents a list of invoice statuses. If provided, you'll get a filtered list of invoices that matches any of the invoice status provided.", "example": "[\"SENT\",\"PAID\",\"PARTIALLY_PAID\"]", "enum": [ "UNSENT", "SENT", "PAID", "PARTIALLY_PAID", "VOID", "OVERDUE" ] } }, "strictSearch": { "type": "boolean", "description": "Flag to toggle on/off strict search mode. When set to true, search by invoice number only will return invoices whose number exactly matches the string value given for the 'invoiceNumber' parameter. When set to false, results will also include invoices whose number contain the string value, but could be longer than the string value itself. For example, if there is an invoice with the number '123456', and the search value is '123', setting strict-name-search to true will not return that invoice in the results, whereas setting it to false will.", "default": false } } }, "InvoiceInfoResponseDtoV1": { "type": "object", "properties": { "invoices": { "type": "array", "description": "Represents a list of invoice info.", "items": { "$ref": "#/components/schemas/InvoiceInfoV1" } }, "total": { "type": "integer", "description": "Represents the total invoice count.", "format": "int64", "example": 100 } } }, "InvoiceInfoV1": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents an invoice amount as long.", "format": "int64", "example": 100 }, "balance": { "type": "integer", "description": "Represents an invoice balance amount as long.", "format": "int64", "example": 50 }, "billFrom": { "type": "string", "description": "Represents to whom an invoice is billed from.", "example": "Company XYZ" }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "98h687e29ae1f428e7ebe707" }, "clientName": { "type": "string", "description": "Represents client name for an invoice.", "example": "Client X" }, "currency": { "type": "string", "description": "Represents the currency used by the invoice.", "example": "USD" }, "daysOverdue": { "type": "integer", "description": "Represents the number of days an invoice is overdue.", "format": "int64", "example": 10 }, "dueDate": { "type": "string", "description": "Represents an invoice due date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-06-01T08:00:00Z" }, "id": { "type": "string", "description": "Represents invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" }, "issuedDate": { "type": "string", "description": "Represents an invoice issued date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T08:00:00Z" }, "number": { "type": "string", "description": "Represents an invoice number.", "example": "202306121129" }, "paid": { "type": "integer", "description": "Represents an invoice paid amount as long.", "format": "int64", "example": 50 }, "status": { "type": "string", "description": "Represents the status of an invoice.", "example": "PAID", "enum": [ "UNSENT", "SENT", "PAID", "PARTIALLY_PAID", "VOID", "OVERDUE" ] }, "visibleZeroFields": { "$ref": "#/components/schemas/VisibleZeroFieldsInvoice" } }, "description": "Represents a list of invoice info." }, "InvoiceItemDto": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents item amount.", "format": "int64", "example": 5000 }, "applyTaxes": { "$ref": "#/components/schemas/ApplyTaxes" }, "description": { "type": "string", "description": "Represents an invoice item description.", "example": "This is a description of an invoice item." }, "expenseIds": { "type": "array", "description": "Represents a list of imported expense ids.", "example": [], "items": { "type": "string", "description": "Represents a list of imported expense ids.", "example": "[]" } }, "importType": { "type": "string", "description": "Represents the invoice item import type.", "example": "NOT_IMPORTED", "enum": [ "NOT_IMPORTED", "TIME_ENTRY_IMPORT", "EXPENSE_IMPORT" ] }, "itemType": { "type": "string", "description": "Represents item type.", "example": "Goods" }, "order": { "type": "integer", "description": "Represents an integer.", "format": "int32", "example": 100 }, "quantity": { "type": "integer", "description": "Represents item quantity.", "format": "int64", "example": 10 }, "timeEntryIds": { "type": "array", "description": "Represents a list of imported time entry ids.", "example": [], "items": { "type": "string", "description": "Represents a list of imported time entry ids.", "example": "[]" } }, "unitPrice": { "type": "integer", "description": "Represents item unit price.", "format": "int64", "example": 500 } }, "description": "Represents a list of invoice item datatransfer objects." }, "InvoiceOverviewDtoV1": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents an invoice amount as long.", "format": "int64", "example": 100 }, "balance": { "type": "integer", "description": "Represents an invoice balance amount as long.", "format": "int64", "example": 50 }, "billFrom": { "type": "string", "description": "Represents to whom the invoice should be billed from.", "example": "Business X" }, "calculationType": { "$ref": "#/components/schemas/CalculationType" }, "clientAddress": { "type": "string", "description": "Represents client address.", "example": "Ground Floor, ABC Bldg., Palo Alto, California, USA 94020" }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "98h687e29ae1f428e7ebe707" }, "clientName": { "type": "string", "description": "Represents client name for an invoice.", "example": "Client X" }, "companyId": { "type": "string", "description": "Represents company identifier across the system.", "example": "04g687e29ae1f428e7ebe123" }, "containsImportedExpenses": { "type": "boolean", "description": "Indicates whether invoice contains imported expenses.", "default": false }, "containsImportedTimes": { "type": "boolean", "description": "Indicates whether invoice contains imported items.", "default": false }, "currency": { "type": "string", "description": "Represents the currency used by the invoice.", "example": "USD" }, "discount": { "type": "number", "description": "Represents an invoice discount amount as double.", "format": "double", "example": 10.5 }, "discountAmount": { "type": "integer", "description": "Represents an invoice discount amount as long.", "format": "int64", "example": 11 }, "dueDate": { "type": "string", "description": "Represents an invoice due date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-06-01T08:00:00Z" }, "id": { "type": "string", "description": "Represents invoice identifier across the system.", "example": "78a687e29ae1f428e7ebe303" }, "issuedDate": { "type": "string", "description": "Represents an invoice issued date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T08:00:00Z" }, "items": { "type": "array", "description": "Represents a list of invoice item datatransfer objects.", "items": { "$ref": "#/components/schemas/InvoiceItemDto" } }, "note": { "type": "string", "description": "Represents an invoice note.", "example": "This is a sample note for this invoice." }, "number": { "type": "string", "description": "Represents an invoice number.", "example": "202306121129" }, "paid": { "type": "integer", "description": "Represents an invoice paid amount as long.", "format": "int64", "example": 50 }, "status": { "type": "string", "description": "Represents the status of an invoice.", "example": "PAID", "enum": [ "UNSENT", "SENT", "PAID", "PARTIALLY_PAID", "VOID", "OVERDUE" ] }, "subject": { "type": "string", "description": "Represents an invoice subject.", "example": "January salary" }, "subtotal": { "type": "integer", "description": "Represents an invoice subtotal as long.", "format": "int64", "example": 5000 }, "tax": { "type": "number", "description": "Represents an invoice tax amount as double.", "format": "double", "example": 1.5 }, "tax2": { "type": "number", "description": "Represents an invoice tax amount as double.", "format": "double", "example": 0 }, "tax2Amount": { "type": "integer", "description": "Represents an invoice tax amount as long.", "format": "int64", "example": 0 }, "taxAmount": { "type": "integer", "description": "Represents an invoice tax amount as long.", "format": "int64", "example": 1 }, "taxType": { "$ref": "#/components/schemas/TaxType" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "12t687e29ae1f428e7ebe202" }, "visibleZeroFields": { "$ref": "#/components/schemas/VisibleZeroFieldsInvoice" } } }, "InvoicePaymentDtoV1": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents an invoice payment amount as long.", "format": "int64", "example": 100 }, "author": { "type": "string", "description": "Represents an invoice payment author.", "example": "John Doe" }, "date": { "type": "string", "description": "Represents an invoice payment date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2021-01-01T12:00:00Z" }, "id": { "type": "string", "description": "Represents invoice payment identifier across the system.", "example": "78a687e29ae1f428e7ebe303" }, "note": { "type": "string", "description": "Represents an invoice payment note.", "example": "This is a sample note for this invoice payment." } } }, "InvoiceSettingsDtoV1": { "type": "object", "properties": { "defaults": { "$ref": "#/components/schemas/InvoiceDefaultSettingsDto" }, "exportFields": { "$ref": "#/components/schemas/InvoiceExportFields" }, "labels": { "$ref": "#/components/schemas/LabelsCustomization" } } }, "InvoicesListDtoV1": { "type": "object", "properties": { "invoices": { "type": "array", "description": "Represents a list of invoices.", "items": { "$ref": "#/components/schemas/InvoiceDtoV1" } }, "total": { "type": "integer", "description": "Represents the total invoice count.", "format": "int64", "example": 100 } } }, "LabelsCustomization": { "type": "object", "properties": { "amount": { "type": "string", "description": "Represents invoice amount.", "example": "1000" }, "billFrom": { "type": "string", "description": "Represents a string an invoice is billed from.", "example": "Entity A" }, "billTo": { "type": "string", "description": "Represents a string an invoice is billed to.", "example": "Entity B" }, "description": { "type": "string", "description": "Represents a description of an invoice.", "example": "This is a sample description for this invoice." }, "discount": { "type": "string", "description": "Represents invoice discount amount.", "example": "0" }, "dueDate": { "type": "string", "description": "Represents a due date in yyyy-MM-dd format.", "example": "2020-01-01" }, "issueDate": { "type": "string", "description": "Represents an issue date in yyyy-MM-dd format.", "example": "2020-01-01" }, "itemType": { "type": "string", "description": "Represents an item type.", "example": "Service" }, "notes": { "type": "string", "description": "Represents notes for an invoice.", "example": "This is a sample note for this invoice." }, "paid": { "type": "string", "description": "Represents invoice paid amount.", "example": "1000" }, "quantity": { "type": "string", "description": "Represents quantity.", "example": "10" }, "subtotal": { "type": "string", "description": "Represents invoice subtotal.", "example": "1000" }, "tax": { "type": "string", "description": "Represents invoice tax amount.", "example": "10" }, "tax2": { "type": "string", "description": "Represents invoice tax amount.", "example": "0" }, "total": { "type": "string", "description": "Represents invoice total amount.", "example": "1010" }, "totalAmount": { "type": "string", "description": "Represents invoice total amount.", "example": "1010" }, "unitPrice": { "type": "string", "description": "Represents unit price.", "example": "100" } }, "description": "Represents a label customization object." }, "LabelsCustomizationRequest": { "required": [ "amount", "billFrom", "billTo", "description", "discount", "dueDate", "issueDate", "itemType", "notes", "paid", "quantity", "subtotal", "tax", "tax2", "total", "totalAmountDue", "unitPrice" ], "type": "object", "properties": { "amount": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice amount label.", "example": "AMOUNT" }, "billFrom": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice bill from label.", "example": "BILL FROM" }, "billTo": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice bill to label.", "example": "BILL TO" }, "description": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice description label.", "example": "DESCRIPTION" }, "discount": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice discount amount label.", "example": "DISCOUNT" }, "dueDate": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice due date label.", "example": "DUE DATE" }, "issueDate": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice issue date label.", "example": "ISSUE DATE" }, "itemType": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice item type label.", "example": "ITEM TYPE" }, "notes": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice notes label.", "example": "NOTES" }, "paid": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice paid amount label.", "example": "PAID" }, "quantity": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice quantity label.", "example": "QUANTITY" }, "subtotal": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice subtotal label.", "example": "SUBTOTAL" }, "tax": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice tax amount label.", "example": "TAX" }, "tax2": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice tax 2 amount label.", "example": "TAX2" }, "total": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice total amount label.", "example": "AMOUNT" }, "totalAmountDue": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice total amount due label.", "example": "TOTAL AMOUNT DUE" }, "unitPrice": { "maxLength": 20, "minLength": 0, "type": "string", "description": "Represents invoice unit price label.", "example": "UNIT PRICE" } }, "description": "Represents a label customization object." }, "LogBinDocumentDto": { "type": "object", "properties": { "deletedAt": { "type": "string", "format": "date-time" }, "document": { "type": "object" }, "documentCode": { "type": "string" }, "id": { "type": "string" } } }, "MemberProfileDtoV1": { "type": "object", "properties": { "email": { "type": "string", "description": "Represents email address of the user.", "example": "johndoe@example.com" }, "hasPassword": { "type": "boolean", "description": "Indicates whether user has password or none.", "default": false }, "hasPendingApprovalRequest": { "type": "boolean", "description": "Indicates whether user has pending approval request.", "default": false }, "imageUrl": { "type": "string", "description": "Represents an image url.", "example": "https://www.url.com/imageurl-1234567890.jpg" }, "name": { "type": "string", "description": "Represents name of the user.", "example": "John Doe" }, "userCustomFieldValues": { "type": "array", "description": "Represents a list of value objects for user’s custom fields.", "items": { "$ref": "#/components/schemas/UserCustomFieldValueFullDtoV1" } }, "weekStart": { "type": "string", "description": "Represents a day of the week.", "example": "MONDAY", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "workCapacity": { "type": "string", "description": "Represents work capacity as a time duration in the ISO-8601 format.", "example": "PT7H" }, "workingDays": { "type": "string", "description": "Represents a list of days of the week.", "example": "[\"MONDAY\",\"TUESDAY\",\"WEDNESDAY\",\"THURSDAY\",\"FRIDAY\"]", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "workspaceNumber": { "type": "integer", "description": "Represents the number of workspace(s) the user is associated to.", "format": "int32", "example": 3 } } }, "MemberProfileFullRequestV1": { "type": "object", "properties": { "imageUrl": { "type": "string", "description": "Represents an image url. A field that can only be updated for limited users.", "example": "https://www.url.com/imageurl-1234567890.jpg" }, "name": { "maxLength": 100, "minLength": 1, "type": "string", "description": "This body field is deprecated and can only be updated for limited users. Represents name of the user and can be changed on the CAKE.com Account profile page.", "example": "John Doe", "deprecated": true }, "removeProfileImage": { "type": "boolean", "description": "Indicates whether to remove profile image or not. A field that can only be updated for limited users.", "default": false }, "userCustomFields": { "type": "array", "description": "Represents a list of upsert user custom field objects.", "items": { "$ref": "#/components/schemas/UpsertUserCustomFieldRequest" } }, "weekStart": { "type": "string", "description": "Represents a day of the week.", "example": "MONDAY", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "workCapacity": { "type": "string", "description": "Represents work capacity as a time duration in the ISO-8601 format. For example, for a 7hr work day, input should be PT7H.", "example": "PT7H" }, "workingDays": { "type": "string", "description": "Represents a list of days of the week.", "example": "[\"MONDAY\",\"TUESDAY\",\"WEDNESDAY\",\"THURSDAY\",\"FRIDAY\"]", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] } } }, "MembershipDtoV1": { "type": "object", "properties": { "costRate": { "$ref": "#/components/schemas/RateDtoV1" }, "hourlyRate": { "$ref": "#/components/schemas/HourlyRateDtoV1" }, "membershipStatus": { "type": "string", "description": "Represents a membership status enum.", "example": "PENDING", "enum": [ "PENDING", "ACTIVE", "DECLINED", "INACTIVE", "ALL" ] }, "membershipType": { "type": "string", "description": "Represents membership type enum.", "example": "PROJECT", "enum": [ "WORKSPACE", "PROJECT", "USERGROUP" ] }, "targetId": { "type": "string", "description": "Represents target identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" } }, "description": "Represents a list of membership objects." }, "MembershipRequest": { "type": "object", "properties": { "hourlyRate": { "$ref": "#/components/schemas/HourlyRateRequest" }, "membershipStatus": { "type": "string", "description": "Represents a membership status enum.", "example": "PENDING", "enum": [ "PENDING", "ACTIVE", "DECLINED", "INACTIVE", "ALL" ] }, "membershipType": { "type": "string", "description": "Represents membership type enum.", "example": "PROJECT", "enum": [ "WORKSPACE", "PROJECT", "USERGROUP" ] }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "12t687e29ae1f428e7ebe202" } }, "description": "Represents a list of membership request objects." }, "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." }, "NegativeBalanceDto": { "type": "object", "properties": { "amount": { "type": "number", "format": "double" }, "period": { "type": "string" }, "shouldReset": { "type": "boolean" }, "timeUnit": { "type": "string" } }, "description": "Represents the data about negative balance including amount, time unit and period." }, "NegativeBalanceRequest": { "required": [ "amount" ], "type": "object", "properties": { "amount": { "minimum": 0, "type": "number", "description": "Represents negative balance amount.", "format": "double", "example": 2 }, "amountValidForTimeUnit": { "type": "boolean" }, "period": { "type": "string", "description": "Represents negative balance period.", "example": "MONTH", "enum": [ "MONTH", "YEAR" ] }, "shouldReset": { "type": "boolean", "description": "Indicates whether negative balance should be reset at the end of the negative balance period.", "example": true, "default": false }, "timeUnit": { "type": "string", "description": "Represents negative balance time unit.", "example": "DAYS", "enum": [ "DAYS", "HOURS" ] } }, "description": "Provide the negative balance data you would like to use for updating the policy." }, "PageableCollectionLogBinDocumentDto": { "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/components/schemas/LogBinDocumentDto" } } } }, "PatchProjectTemplateRequest": { "type": "object", "properties": { "isTemplate": { "type": "boolean", "description": "Indicates whether project is a template or not.", "default": false } } }, "Period": { "type": "object", "properties": { "end": { "type": "string", "format": "date-time" }, "start": { "type": "string", "format": "date-time" } } }, "PeriodV1Request": { "type": "object", "properties": { "days": { "maximum": 999, "minimum": 1, "type": "integer", "description": "Provide number of days.", "format": "int32", "example": 3 }, "end": { "type": "string", "description": "Provide end date in YYYY-MM-DD format.", "example": "2021-12-25" }, "start": { "type": "string", "description": "Provide start date in YYYY-MM-DD format.", "example": "2021-12-23" } }, "description": "Represents period of time off request including start and end date." }, "PolicyApprovalDto": { "type": "object", "properties": { "requiresApproval": { "type": "boolean", "description": "Indicates whether it requires approval", "example": true, "default": false }, "specificMembers": { "type": "boolean", "description": "Indicates whether it requires specific members", "example": false, "default": false }, "teamManagers": { "type": "boolean", "description": "Indicates whether it requires team manager's approval", "example": false, "default": false }, "userIds": { "uniqueItems": true, "type": "array", "description": "Represents set of user's identifier across the system", "example": [ "6579d126c2fe3b25f20ea001", "6579d126c2fe3b25f20ea002" ], "items": { "type": "string", "description": "Represents set of user's identifier across the system", "example": "[\"6579d126c2fe3b25f20ea001\",\"6579d126c2fe3b25f20ea002\"]" } } }, "description": "Represents approval settings." }, "PolicyDtoV1": { "type": "object", "properties": { "allowHalfDay": { "type": "boolean", "description": "Indicates whether the half day is allowed.", "example": false, "default": false }, "allowNegativeBalance": { "type": "boolean", "description": "Indicates whether the negative balance is allowed.", "example": true, "default": false }, "approve": { "$ref": "#/components/schemas/PolicyApprovalDto" }, "archived": { "type": "boolean", "description": "Indicates whether the policy is archived.", "example": true, "default": false }, "automaticAccrual": { "$ref": "#/components/schemas/AutomaticAccrualDto" }, "automaticTimeEntryCreation": { "$ref": "#/components/schemas/AutomaticTimeEntryCreationDto" }, "everyoneIncludingNew": { "type": "boolean", "description": "Indicates whether the policy is applied to future new users.", "example": false, "default": false }, "id": { "type": "string", "description": "Represents policy identifier across the system.", "example": "5b715612b079875110791111" }, "name": { "type": "string", "description": "Represents the name of the policy.", "example": "Days" }, "negativeBalance": { "$ref": "#/components/schemas/NegativeBalanceDto" }, "projectId": { "type": "string", "description": "Represents project identifier across the system." }, "timeUnit": { "type": "string", "description": "Represents the time unit of the policy.", "example": "DAYS", "enum": [ "DAYS", "HOURS" ] }, "userGroupIds": { "uniqueItems": true, "type": "array", "description": "Represents user groups' identifiers across the system. Indicates which user groups are included in the policy.", "example": [ "5b715612b079875110791342", "5b715612b079875110791324", "5b715612b079875110793142" ], "items": { "type": "string", "description": "Represents user groups' identifiers across the system. Indicates which user groups are included in the policy.", "example": "[\"5b715612b079875110791342\",\"5b715612b079875110791324\",\"5b715612b079875110793142\"]" } }, "userIds": { "uniqueItems": true, "type": "array", "description": "Represents users' identifiers across the system. Indicates which users are included in the policy.", "example": [ "5b715612b079875110791432", "5b715612b079875110791234" ], "items": { "type": "string", "description": "Represents users' identifiers across the system. Indicates which users are included in the policy.", "example": "[\"5b715612b079875110791432\",\"5b715612b079875110791234\"]" } }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5b715612b079875110792222" } } }, "ProjectDtoImplV1": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Indicates whether project is archived or not.", "default": false }, "billable": { "type": "boolean", "description": "Indicates whether project is billable or not.", "default": false }, "budgetEstimate": { "$ref": "#/components/schemas/EstimateWithOptionsDto" }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "9t641568b07987035750704" }, "clientName": { "type": "string", "description": "Represents client name.", "example": "Client X" }, "color": { "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" }, "costRate": { "$ref": "#/components/schemas/RateDtoV1" }, "duration": { "type": "string", "description": "Represents project duration in milliseconds.", "example": "60000" }, "estimate": { "$ref": "#/components/schemas/EstimateDtoV1" }, "estimateReset": { "$ref": "#/components/schemas/EstimateResetDto" }, "hourlyRate": { "$ref": "#/components/schemas/RateDtoV1" }, "id": { "type": "string", "description": "Represents project identifier across the system.", "example": "5b641568b07987035750505e" }, "isPublic": { "type": "boolean", "writeOnly": true }, "isTemplate": { "type": "boolean", "writeOnly": true }, "memberships": { "type": "array", "description": "Represents a list of membership objects.", "items": { "$ref": "#/components/schemas/MembershipDtoV1" } }, "name": { "type": "string", "description": "Represents a project name.", "example": "Software Development" }, "note": { "type": "string", "description": "Represents project note.", "example": "This is a sample note for the project." }, "public": { "type": "boolean", "description": "Indicates whether project is public or not.", "default": false }, "template": { "type": "boolean", "description": "Indicates whether project is a template or not.", "default": false }, "timeEstimate": { "$ref": "#/components/schemas/TimeEstimateDto" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "ProjectDtoV1": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Indicates whether project is archived or not.", "default": false }, "billable": { "type": "boolean", "description": "Indicates whether project is billable or not.", "default": false }, "budgetEstimate": { "$ref": "#/components/schemas/EstimateWithOptionsDto" }, "color": { "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" }, "costRate": { "$ref": "#/components/schemas/RateDtoV1" }, "duration": { "type": "string", "description": "Represents project duration in milliseconds.", "example": "60000" }, "estimate": { "$ref": "#/components/schemas/EstimateDtoV1" }, "hourlyRate": { "$ref": "#/components/schemas/RateDtoV1" }, "id": { "type": "string", "description": "Represents project identifier across the system.", "example": "5b641568b07987035750505e" }, "memberships": { "type": "array", "description": "Represents a list of membership objects.", "items": { "$ref": "#/components/schemas/MembershipDtoV1" } }, "name": { "type": "string", "description": "Represents a project name.", "example": "Software Development" }, "note": { "type": "string", "description": "Represents project note.", "example": "This is a sample note for the project." }, "public": { "type": "boolean", "description": "Indicates whether project is public or not.", "default": false }, "template": { "type": "boolean", "description": "Indicates whether project is a template or not.", "default": false }, "timeEstimate": { "$ref": "#/components/schemas/TimeEstimateDto" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "ProjectEstimateRequest": { "type": "object", "properties": { "budgetEstimate": { "$ref": "#/components/schemas/EstimateWithOptionsRequest" }, "estimateReset": { "$ref": "#/components/schemas/EstimateResetRequest" }, "timeEstimate": { "$ref": "#/components/schemas/TimeEstimateRequest" } } }, "ProjectInfoDto": { "type": "object", "properties": { "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "clientName": { "type": "string", "description": "Represents client name.", "example": "Client X" }, "color": { "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" }, "id": { "type": "string", "description": "Represents project identifier across the system.", "example": "5b641568b07987035750505e" }, "name": { "type": "string", "description": "Represents a project name.", "example": "Software Development" } }, "description": "Represents a project info object." }, "ProjectRequest": { "required": [ "name" ], "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether project is billable or not.", "default": false }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "9t641568b07987035750704" }, "color": { "pattern": "^#(?:[0-9a-fA-F]{6}){1}$", "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" }, "costRate": { "$ref": "#/components/schemas/CostRateRequestV1" }, "estimate": { "$ref": "#/components/schemas/EstimateRequest" }, "hourlyRate": { "$ref": "#/components/schemas/HourlyRateRequestV1" }, "isPublic": { "type": "boolean", "description": "Indicates whether project is public or not.", "default": false }, "memberships": { "type": "array", "description": "Represents a list of membership request objects.", "items": { "$ref": "#/components/schemas/MembershipRequest" } }, "name": { "maxLength": 250, "minLength": 2, "type": "string", "description": "Represents a project name.", "example": "Software Development" }, "note": { "maxLength": 16384, "type": "string", "description": "Represents project note.", "example": "This is a sample note for the project." }, "tasks": { "type": "array", "description": "Represents a list of task request objects.", "items": { "$ref": "#/components/schemas/TaskRequest" } } } }, "ProjectTaskTupleDto": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" } }, "description": "Represents a list of template's projects and tasks." }, "ProjectTaskTupleRequest": { "required": [ "projectId" ], "type": "object", "properties": { "projectId": { "minLength": 1, "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "type": { "type": "string", "description": "Represents a time entry type.", "example": "REGULAR" } }, "description": "Represents a list of template's projects and tasks." }, "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" ] } } }, "RateDto": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents an amount as integer.", "format": "int32", "example": 10500 }, "currency": { "type": "string", "description": "Represents a currency.", "example": "USD" } }, "description": "Represents cost rate object." }, "RateDtoV1": { "type": "object", "properties": { "amount": { "type": "integer", "description": "Represents an amount as integer.", "format": "int32", "example": 10500 }, "currency": { "type": "string", "description": "Represents a currency.", "example": "USD" } }, "description": "Represents cost rate object." }, "RateWithCurrencyRequestV1": { "required": [ "amount", "currency" ], "type": "object", "properties": { "amount": { "minimum": 0, "type": "integer", "description": "Represents an amount as integer.", "format": "int32", "example": 2000 }, "currency": { "maxLength": 100, "minLength": 1, "type": "string", "description": "Represents a currency.", "example": "USD", "default": "USD" }, "since": { "type": "string", "description": "Represents a date and time in yyyy-MM-ddThh:mm:ssZ format.", "example": "2020-01-01T00:00:00Z" } } }, "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." }, "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 } } }, "RoleDetailsDtoV1": { "type": "object", "properties": { "role": { "$ref": "#/components/schemas/RoleDtoV1" }, "userId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "RoleDtoV1": { "type": "object", "properties": { "id": { "type": "string", "description": "Represents role identifier across the system.", "example": "60f91b3ffdaf031696ec61a8" }, "name": { "type": "string", "description": "Represents a role name.", "example": "Administrator" }, "source": { "$ref": "#/components/schemas/AuthorizationSourceDtoV1" } }, "description": "Represents a role data transfer object." }, "RoleRequestV1": { "required": [ "entityId", "role" ], "type": "object", "properties": { "entityId": { "minLength": 1, "type": "string", "description": "Represents an entity identifier across the system.", "example": "60f924bafdaf031696ec6218" }, "role": { "type": "string", "description": "Represents a valid role.", "example": "TEAM_MANAGER", "enum": [ "WORKSPACE_ADMIN", "TEAM_MANAGER", "PROJECT_MANAGER" ] }, "sourceType": { "type": "string", "description": "Optional field used to indicate that the target of the operation is a\nuser group, in which case the value USER_GROUP should be used, alongside a valid user group\nID for the entityId field. If omitted, a user ID should be used for the entityId field.\n", "example": "USER_GROUP", "enum": [ "USER_GROUP" ] } } }, "RoundDto": { "type": "object", "properties": { "minutes": { "type": "string", "example": "15" }, "round": { "type": "string", "example": "Round to nearest" } }, "description": "Represents a time rounding object." }, "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" } } }, "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" } } }, "StatusTimeOffRequestV1Request": { "type": "object", "properties": { "note": { "type": "string", "description": "Provide the note you would like to use for changing the time off request.", "example": "Time Off Request Note" }, "status": { "type": "string", "description": "Provide the status you would like to use for changing the time off request.", "example": "APPROVED", "enum": [ "APPROVED", "REJECTED" ] } } }, "StopTimeEntryRequest": { "required": [ "end" ], "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" } } }, "SummaryReportSettingsDtoV1": { "required": [ "group", "subgroup" ], "type": "object", "properties": { "group": { "minLength": 1, "type": "string", "example": "PROJECT" }, "subgroup": { "minLength": 1, "type": "string", "example": "CLIENT" } }, "description": "Represents a summary report settings object." }, "TagDto": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Indicates whether tag is archived or not.", "default": false }, "id": { "type": "string", "description": "Represents tag identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "name": { "type": "string", "description": "Represents tag name.", "example": "Sprint1" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, "description": "Represents a list of tag objects." }, "TagDtoV1": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Indicates whether a tag is archived or not.", "default": false }, "id": { "type": "string", "description": "Represents tag identifier across the system.", "example": "21s687e29ae1f428e7ebe404" }, "name": { "type": "string", "description": "Represents tag name.", "example": "Sprint1" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "TagRequest": { "type": "object", "properties": { "name": { "maxLength": 100, "minLength": 0, "type": "string", "description": "Represents a tag name.", "example": "Sprint1" } } }, "TaskDtoV1": { "type": "object", "properties": { "assigneeId": { "type": "string", "deprecated": true }, "assigneeIds": { "uniqueItems": true, "type": "array", "description": "Represents list of assignee ids for the task.", "example": [ "45b687e29ae1f428e7ebe123", "67s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of assignee ids for the task.", "example": "[\"45b687e29ae1f428e7ebe123\",\"67s687e29ae1f428e7ebe678\"]" } }, "billable": { "type": "boolean", "description": "Indicates whether a task is billable or not.", "default": false }, "budgetEstimate": { "type": "integer", "description": "Represents a task budget estimate as long.", "format": "int64", "example": 10000 }, "costRate": { "$ref": "#/components/schemas/RateDtoV1" }, "duration": { "type": "string", "description": "Represents a task duration.", "example": "PT1H30M" }, "estimate": { "type": "string", "description": "Represents a task duration estimate.", "example": "PT1H30M" }, "hourlyRate": { "$ref": "#/components/schemas/RateDtoV1" }, "id": { "type": "string", "description": "Represents task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" }, "name": { "type": "string", "description": "Represents task name.", "example": "Bugfixing" }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "status": { "$ref": "#/components/schemas/TaskStatus" }, "userGroupIds": { "uniqueItems": true, "type": "array", "description": "Represents list of user group ids for the task.", "example": [ "67b687e29ae1f428e7ebe123", "12s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of user group ids for the task.", "example": "[\"67b687e29ae1f428e7ebe123\",\"12s687e29ae1f428e7ebe678\"]" } } } }, "TaskInfoDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Represents task identifier across the system.", "example": "5b715448b0798751107918ab" }, "name": { "type": "string", "description": "Represents task name.", "example": "Bugfixing" } }, "description": "Represents a project info object." }, "TaskRequest": { "required": [ "name" ], "type": "object", "properties": { "assigneeId": { "type": "string", "deprecated": true }, "assigneeIds": { "uniqueItems": true, "type": "array", "description": "Represents list of assignee ids for the task.", "example": [ "45b687e29ae1f428e7ebe123", "67s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of assignee ids for the task.", "example": "[\"45b687e29ae1f428e7ebe123\",\"67s687e29ae1f428e7ebe678\"]" } }, "billable": { "type": "boolean", "description": "Flag to set whether task is billable or not", "default": false }, "budgetEstimate": { "minimum": 0, "type": "integer", "format": "int64", "example": 10000 }, "costRate": { "$ref": "#/components/schemas/CostRateRequest" }, "estimate": { "type": "string", "description": "Represents a task duration estimate.", "example": "PT1H30M" }, "hourlyRate": { "$ref": "#/components/schemas/HourlyRateRequest" }, "id": { "type": "string", "description": "Represents task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" }, "name": { "type": "string", "description": "Represents task name.", "example": "Bugfixing" }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "5b641568b07987035750505e" }, "status": { "type": "string", "example": "DONE" }, "userGroupIds": { "uniqueItems": true, "type": "array", "description": "Represents list of user group ids for the task.", "example": [ "67b687e29ae1f428e7ebe123", "12s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of user group ids for the task.", "example": "[\"67b687e29ae1f428e7ebe123\",\"12s687e29ae1f428e7ebe678\"]" } } }, "description": "Represents a list of task request objects." }, "TaskRequestV1": { "required": [ "name" ], "type": "object", "properties": { "assigneeId": { "type": "string", "deprecated": true }, "assigneeIds": { "uniqueItems": true, "type": "array", "description": "Represents list of assignee ids for the task.", "example": [ "45b687e29ae1f428e7ebe123", "67s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of assignee ids for the task.", "example": "[\"45b687e29ae1f428e7ebe123\",\"67s687e29ae1f428e7ebe678\"]" } }, "budgetEstimate": { "minimum": 0, "type": "integer", "description": "Represents a task budget estimate as long.", "format": "int64", "example": 10000 }, "estimate": { "type": "string", "description": "Represents a task duration estimate in ISO-8601 format.", "example": "PT1H30M" }, "id": { "type": "string", "description": "Represents task identifier across the system.", "example": "57a687e29ae1f428e7ebe107" }, "name": { "maxLength": 1000, "minLength": 1, "type": "string", "description": "Represents task name.", "example": "Bugfixing" }, "status": { "type": "string", "description": "Represents task status.", "example": "DONE", "enum": [ "ACTIVE", "DONE", "ALL" ] }, "userGroupIds": { "uniqueItems": true, "type": "array", "description": "Represents list of user group ids for the task.", "example": [ "67b687e29ae1f428e7ebe123", "12s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of user group ids for the task.", "example": "[\"67b687e29ae1f428e7ebe123\",\"12s687e29ae1f428e7ebe678\"]" } } } }, "TaskStatus": { "type": "object", "description": "Represents task status.", "example": "DONE", "oneOf": [ { "type": "string", "enum": [ "ACTIVE", "DONE", "ALL" ] } ], "properties": { "ACTIVE": { "type": "string", "enum": [ "ACTIVE", "DONE", "ALL" ] }, "ALL": { "type": "string", "enum": [ "ACTIVE", "DONE", "ALL" ] }, "DONE": { "type": "string", "enum": [ "ACTIVE", "DONE", "ALL" ] }, "active": { "type": "boolean" } } }, "TaxType": { "type": "object", "description": "Represents an invoice taxation type.", "example": "SIMPLE", "oneOf": [ { "type": "string", "enum": [ "COMPOUND", "SIMPLE", "NONE" ] } ], "properties": { "COMPOUND": { "type": "string", "enum": [ "COMPOUND", "SIMPLE", "NONE" ] }, "NONE": { "type": "string", "enum": [ "COMPOUND", "SIMPLE", "NONE" ] }, "SIMPLE": { "type": "string", "enum": [ "COMPOUND", "SIMPLE", "NONE" ] }, "value": { "type": "string" } } }, "TemplateDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Represents a template identifier across the system.", "example": "5b6d45c4b0798751107762b8" }, "name": { "type": "string", "description": "Represents a template name.", "example": "exampleTemplate" }, "userId": { "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" }, "workspaceId": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "TemplateDtoImpl": { "type": "object", "properties": { "entries": { "type": "array", "description": "Represents a set of template time entries.", "items": { "$ref": "#/components/schemas/TimeEntryWithCustomFieldsDto" } }, "id": { "type": "string", "description": "Represents a template identifier across the system.", "example": "5b6d45c4b0798751107762b8" }, "name": { "type": "string", "description": "Represents a template name.", "example": "exampleTemplate" }, "projectsAndTasks": { "type": "array", "description": "Represents a list of template's projects and tasks.", "items": { "$ref": "#/components/schemas/ProjectTaskTupleDto" } }, "userId": { "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" }, "weekStart": { "type": "string", "description": "Represents a day of the week.", "format": "date" }, "workspaceId": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "TemplatePatchRequest": { "required": [ "name" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "Represents a template name.", "example": "exampleTemplate" } } }, "TemplateRequest": { "required": [ "name", "projectsAndTasks" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string", "description": "Represents a template name.", "example": "exampleTemplate" }, "projectsAndTasks": { "type": "array", "description": "Represents a list of template's projects and tasks.", "items": { "$ref": "#/components/schemas/ProjectTaskTupleRequest" } }, "timeEntryIds": { "uniqueItems": true, "type": "array", "description": "Represents a set of template time entry ids.", "example": [ "64c777ddd3fcab07cfbb210c" ], "items": { "type": "string", "description": "Represents a set of template time entry ids.", "example": "[\"64c777ddd3fcab07cfbb210c\"]" } }, "weekStart": { "type": "string", "description": "Represents a date of the starting day of the week in the yyyy-MM-dd format.", "format": "date", "example": "2019-08-24" } } }, "TimeEntryDtoImplV1": { "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether a time entry is billable.", "default": false }, "customFieldValues": { "type": "array", "description": "Represents a list of custom field value objects.", "items": { "$ref": "#/components/schemas/CustomFieldValueDtoV1" } }, "description": { "type": "string", "description": "Represents time entry description.", "example": "This is a sample time entry description." }, "id": { "type": "string", "description": "Represents time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "isLocked": { "type": "boolean", "description": "Represents whether time entry is locked for modification.", "default": false }, "kioskId": { "type": "string", "description": "Represents kiosk identifier across the system.", "example": "94c777ddd3fcab07cfbb210d" }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "tagIds": { "type": "array", "description": "Represents a list of tag identifiers across the system.", "example": [ "321r77ddd3fcab07cfbb567y", "44x777ddd3fcab07cfbb88f" ], "items": { "type": "string", "description": "Represents a list of tag identifiers across the system.", "example": "[\"321r77ddd3fcab07cfbb567y\",\"44x777ddd3fcab07cfbb88f\"]" } }, "taskId": { "type": "string", "description": "Represents task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "timeInterval": { "$ref": "#/components/schemas/TimeIntervalDtoV1" }, "type": { "type": "string", "description": "Represents a time entry type enum.", "example": "BREAK", "enum": [ "REGULAR", "BREAK", "HOLIDAY", "TIME_OFF" ] }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "TimeEntryDtoV1": { "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether a time entry is billable.", "default": false }, "customFieldValues": { "type": "array", "description": "Represents a list of custom field value objects.", "items": { "$ref": "#/components/schemas/CustomFieldValueDtoV1" } }, "description": { "type": "string", "description": "Represents time entry description.", "example": "This is a sample time entry description." }, "id": { "type": "string", "description": "Represents time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "isLocked": { "type": "boolean", "description": "Represents whether time entry is locked for modification.", "default": false }, "kioskId": { "type": "string", "description": "Represents kiosk identifier across the system.", "example": "94c777ddd3fcab07cfbb210d" }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "tagIds": { "type": "array", "description": "Represents a list of tag identifiers across the system.", "example": [ "321r77ddd3fcab07cfbb567y", "44x777ddd3fcab07cfbb88f" ], "items": { "type": "string", "description": "Represents a list of tag identifiers across the system.", "example": "[\"321r77ddd3fcab07cfbb567y\",\"44x777ddd3fcab07cfbb88f\"]" } }, "taskId": { "type": "string", "description": "Represents task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "timeInterval": { "$ref": "#/components/schemas/TimeIntervalDtoV1" }, "type": { "type": "string", "description": "Represents a time entry type enum.", "example": "BREAK", "enum": [ "REGULAR", "BREAK", "HOLIDAY", "TIME_OFF" ] }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "TimeEntryId": { "type": "object", "properties": { "dateOfCreationFromObjectId": { "type": "string", "format": "date-time" } }, "description": "Represents a list of invoiced time entry ids", "example": [ "54m377ddd3fcab07cfbb432w", "25b687e29ae1f428e7ebe123" ] }, "TimeEntryInfoDto": { "type": "object", "properties": { "approvalRequestId": { "type": "string", "description": "Represents approval identifier across the system.", "example": "5e4117fe8c625f38930d57b7" }, "billable": { "type": "boolean", "description": "Indicates whether time entry is billable or not.", "default": false }, "costRate": { "$ref": "#/components/schemas/RateDto" }, "customFieldValues": { "type": "array", "description": "Represents a list of custom field value objects.", "items": { "$ref": "#/components/schemas/CustomFieldValueDto" } }, "description": { "type": "string", "description": "Represents a time entry description.", "example": "This is a sample time entry description." }, "hourlyRate": { "$ref": "#/components/schemas/RateDto" }, "id": { "type": "string", "description": "Represents time entry identifier across the system.", "example": "5b715448b0798751107918ab" }, "isLocked": { "type": "boolean", "description": "Indicates whether time entry is locked or not.", "default": false }, "project": { "$ref": "#/components/schemas/ProjectInfoDto" }, "tags": { "type": "array", "description": "Represents a list of tag objects.", "items": { "$ref": "#/components/schemas/TagDto" } }, "task": { "$ref": "#/components/schemas/TaskInfoDto" }, "timeInterval": { "$ref": "#/components/schemas/TimeIntervalDto" }, "type": { "type": "string", "description": "Represents a time entry type enum.", "example": "REGULAR", "enum": [ "REGULAR", "BREAK", "HOLIDAY", "TIME_OFF" ] } }, "description": "Represents a list of time entry info data transfer objects." }, "TimeEntryWithCustomFieldsDto": { "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether a time entry is billable.", "default": false }, "customFieldValues": { "type": "array", "description": "Represents a list of custom field value objects.", "items": { "$ref": "#/components/schemas/CustomFieldValueDto" } }, "description": { "type": "string", "description": "Represents a time entry description.", "example": "This is a sample time entry description." }, "id": { "type": "string", "description": "Represents a time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "projectId": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "tagIds": { "type": "array", "description": "Represents a list of tag identifiers across the system.", "example": [ "321r77ddd3fcab07cfbb567y", "44x777ddd3fcab07cfbb88f" ], "items": { "type": "string", "description": "Represents a list of tag identifiers across the system.", "example": "[\"321r77ddd3fcab07cfbb567y\",\"44x777ddd3fcab07cfbb88f\"]" } }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "timeInterval": { "$ref": "#/components/schemas/TimeIntervalDto" }, "type": { "type": "string", "description": "Represents a time entry type enum.", "example": "REGULAR", "enum": [ "REGULAR", "BREAK", "HOLIDAY", "TIME_OFF" ] }, "userId": { "type": "string", "description": "Represents a user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "workspaceId": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } }, "description": "Represents a set of template time entries." }, "TimeEntryWithRatesDtoV1": { "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether a time entry is billable.", "default": false }, "costRate": { "$ref": "#/components/schemas/RateDtoV1" }, "customFieldValues": { "type": "array", "description": "Represents a list of custom field value objects.", "items": { "$ref": "#/components/schemas/CustomFieldValueDtoV1" } }, "description": { "type": "string", "description": "Represents time entry description.", "example": "This is a sample time entry description." }, "hourlyRate": { "$ref": "#/components/schemas/RateDtoV1" }, "id": { "type": "string", "description": "Represents time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "isLocked": { "type": "boolean", "description": "Represents whether time entry is locked for modification.", "default": false }, "kioskId": { "type": "string", "description": "Represents kiosk identifier across the system.", "example": "94c777ddd3fcab07cfbb210d" }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "tagIds": { "type": "array", "description": "Represents a list of tag identifiers across the system.", "example": [ "321r77ddd3fcab07cfbb567y", "44x777ddd3fcab07cfbb88f" ], "items": { "type": "string", "description": "Represents a list of tag identifiers across the system.", "example": "[\"321r77ddd3fcab07cfbb567y\",\"44x777ddd3fcab07cfbb88f\"]" } }, "taskId": { "type": "string", "description": "Represents task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "timeInterval": { "$ref": "#/components/schemas/TimeIntervalDtoV1" }, "type": { "type": "string", "description": "Represents a time entry type enum.", "example": "BREAK", "enum": [ "REGULAR", "BREAK", "HOLIDAY", "TIME_OFF" ] }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "TimeEstimateDto": { "type": "object", "properties": { "active": { "type": "boolean" }, "estimate": { "type": "string", "description": "Represents project duration in milliseconds.", "example": "60000" }, "includeNonBillable": { "type": "boolean" }, "resetOption": { "type": "string", "description": "Represents a reset option enum.", "example": "WEEKLY", "enum": [ "WEEKLY", "MONTHLY", "YEARLY" ] }, "type": { "type": "string", "description": "Represents an estimate type enum.", "example": "AUTO", "enum": [ "AUTO", "MANUAL" ] } }, "description": "Represents a project time estimate object." }, "TimeEstimateRequest": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Flag whether to include only active or inactive estimates.", "default": false }, "estimate": { "type": "string", "description": "Represents a time duration in ISO-8601 format.", "example": "PT1H30M" }, "includeNonBillable": { "type": "boolean", "description": "Flag whether to include non-billable expenses.", "default": false }, "resetOption": { "type": "string", "description": "Represents a reset option enum.", "example": "MONTHLY", "enum": [ "WEEKLY", "MONTHLY", "YEARLY" ] }, "type": { "type": "string", "description": "Represents an estimate type enum.", "example": "AUTO", "enum": [ "AUTO", "MANUAL" ] } }, "description": "Represents project time estimate request object." }, "TimeIntervalDto": { "type": "object", "properties": { "duration": { "type": "string", "description": "Represents a time duration.", "example": "PT1H30M" }, "end": { "type": "string", "format": "date-time" }, "offsetEnd": { "type": "integer", "format": "int32" }, "offsetStart": { "type": "integer", "format": "int32" }, "start": { "type": "string", "format": "date-time" }, "timeZone": { "type": "string" }, "zonedEnd": { "type": "string", "format": "date-time" }, "zonedStart": { "type": "string", "format": "date-time" } }, "description": "Represents a time interval object." }, "TimeIntervalDtoV1": { "type": "object", "properties": { "duration": { "type": "string", "description": "Represents a time duration.", "example": "8000" }, "end": { "type": "string", "description": "Represents an end date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2021-01-01T00:00:00Z" }, "start": { "type": "string", "description": "Represents a start date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T00:00:00Z" } }, "description": "Represents a time interval object." }, "TimeOffRequestFullV1Dto": { "type": "object", "properties": { "balance": { "type": "number", "description": "Represents the time off balance.", "format": "double", "example": 10 }, "balanceDiff": { "type": "number", "description": "Represents the balance difference.", "format": "double", "example": 1 }, "createdAt": { "type": "string", "description": "Represents the date when time off request is created. It is in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "format": "date-time", "example": "2022-08-26T08:32:01.640708Z" }, "id": { "type": "string", "description": "Represents time off requester identifier across the system.", "example": "5b715612b079875110791111" }, "note": { "type": "string", "description": "Represents the note of the time off request.", "example": "Time Off Request Note" }, "policyId": { "type": "string", "description": "Represents policy identifier across the system.", "example": "5b715612b079875110792333" }, "policyName": { "type": "string", "description": "Represents the policy name of the time off request.", "example": "Days" }, "requesterUserId": { "type": "string", "description": "Represents requester user's id.", "example": "5b715612b0798751107925555" }, "requesterUserName": { "type": "string", "description": "Represents requester user's username.", "example": "John" }, "status": { "$ref": "#/components/schemas/TimeOffRequestStatus" }, "timeOffPeriod": { "$ref": "#/components/schemas/TimeOffRequestPeriodDto" }, "timeUnit": { "type": "string", "description": "Represents the time unit of the time off request.", "example": "DAYS", "enum": [ "DAYS", "HOURS" ] }, "userEmail": { "type": "string", "description": "Represents user's email", "example": "nicholas@clockify.com" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5b715612b079875110794444" }, "userName": { "type": "string", "description": "Represents user's username.", "example": "Nicholas" }, "userTimeZone": { "type": "string", "description": "Represents user's time zone", "example": "Europe/Budapest" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5b715612b079875110792222" } }, "description": "Represents the array of time off requests." }, "TimeOffRequestPeriodDto": { "type": "object", "properties": { "halfDay": { "type": "boolean" }, "halfDayHours": { "$ref": "#/components/schemas/Period" }, "halfDayPeriod": { "type": "string" }, "period": { "$ref": "#/components/schemas/Period" } }, "description": "Represents the period the time off request." }, "TimeOffRequestPeriodV1Request": { "required": [ "period" ], "type": "object", "properties": { "halfDayPeriod": { "type": "string", "description": "Represents the half day period.", "example": "NOT_DEFINED", "enum": [ "FIRST_HALF", "SECOND_HALF", "NOT_DEFINED" ] }, "isHalfDay": { "type": "boolean", "description": "Indicates whether time off is half day.", "example": false, "default": false }, "period": { "$ref": "#/components/schemas/PeriodV1Request" }, "timeOffHalfDayPeriod": { "type": "string", "enum": [ "FIRST_HALF", "SECOND_HALF", "NOT_DEFINED" ] } }, "description": "Provide the period you would like to use for creating the time off request. If `timeZone` isn't set, should be aligned with time zone for user in settings. Can be shifted from user time zone with explicit setting of `timeZone`." }, "TimeOffRequestStatus": { "type": "object", "properties": { "changedAt": { "type": "string", "format": "date-time" }, "changedByUserId": { "type": "string" }, "changedByUserName": { "type": "string" }, "changedForUserName": { "type": "string" }, "note": { "type": "string" }, "statusType": { "type": "string", "enum": [ "PENDING", "APPROVED", "REJECTED", "ALL" ] } }, "description": "Represents the status the time off request." }, "TimeOffRequestV1Dto": { "type": "object", "properties": { "balanceDiff": { "type": "number", "description": "Represents the balance difference", "format": "double", "example": 1 }, "createdAt": { "type": "string", "description": "Represents the date when time off request is created. Date is in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "format": "date-time", "example": "2022-08-26T08:32:01.640708Z" }, "id": { "type": "string", "description": "Represents time off requester identifier across the system.", "example": "5b715612b079875110791111" }, "note": { "type": "string", "description": "Represents the note of the time off request.", "example": "Time Off Request Note" }, "policyId": { "type": "string", "description": "Represents policy identifier across the system.", "example": "5b715612b079875110792333" }, "status": { "$ref": "#/components/schemas/TimeOffRequestStatus" }, "timeOffPeriod": { "$ref": "#/components/schemas/TimeOffRequestPeriodDto" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5b715612b079875110794444" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5b715612b079875110792222" } } }, "TimeOffRequestsWithCountV1Dto": { "type": "object", "properties": { "count": { "type": "integer", "description": "Total count of time off requests.", "format": "int32", "example": 1 }, "requests": { "type": "array", "items": { "$ref": "#/components/schemas/TimeOffRequestFullV1Dto" } } } }, "TimeRangeRequestDtoV1": { "type": "object", "properties": { "issue-date-end": { "type": "string", "description": "Represents a date in yyyy-MM-dd format. This is the lower bound of the time range.", "example": "2020-01-01" }, "issue-date-start": { "type": "string", "description": "Represents a date in yyyy-MM-dd format. This is the lower bound of the time range.", "example": "2020-01-01" } }, "description": "Represents a time range object. If provided, you'll get a filtered list of invoices that has issue date within the time range specified." }, "TotalsPerDayDto": { "type": "object", "properties": { "date": { "type": "string", "format": "date-time" }, "totalHours": { "type": "number", "format": "double" } }, "description": "Represents total hours per day object." }, "UpdateApprovalRequest": { "required": [ "state" ], "type": "object", "properties": { "note": { "type": "string", "description": "Additional notes for the approval request.", "example": "This is a sample note." }, "state": { "type": "string", "description": "Specifies the approval state to set.", "example": "PENDING", "enum": [ "PENDING", "APPROVED", "WITHDRAWN_SUBMISSION", "WITHDRAWN_APPROVAL", "REJECTED" ] } } }, "UpdateBalanceRequestV1": { "required": [ "userIds", "value" ], "type": "object", "properties": { "note": { "type": "string", "description": "Represents a new balance note value.", "example": "Bonus days added." }, "userIds": { "minItems": 1, "uniqueItems": true, "type": "array", "description": "Represents the list of users' identifiers whose balance is to be updated.", "example": [ "5b715448b079875110792222", "5b715448b079875110791111" ], "items": { "type": "string", "description": "Represents the list of users' identifiers whose balance is to be updated.", "example": "[\"5b715448b079875110792222\",\"5b715448b079875110791111\"]" } }, "value": { "maximum": 10000, "minimum": -10000, "type": "number", "description": "Represents a new balance value.", "format": "double", "example": 22 } } }, "UpdateClientRequestV1": { "type": "object", "properties": { "address": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents a client's address.", "example": "Ground Floor, ABC Bldg., Palo Alto, California, USA 94020" }, "archived": { "type": "boolean", "description": "Indicates if client will be archived or not.", "default": false }, "ccEmails": { "maxItems": 3, "minItems": 0, "type": "array", "items": { "type": "string", "format": "email" } }, "currencyId": { "type": "string", "description": "Represents a currency identifier across the system.", "example": "53a687e29ae1f428e7ebe888" }, "email": { "type": "string", "format": "email", "description": "Represents a client email.", "example": "clientx@example.com" }, "name": { "maxLength": 100, "minLength": 0, "type": "string", "description": "Represents a client name.", "example": "Client X" }, "note": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents additional notes for the client.", "example": "This is a sample note for the client." } } }, "UpdateCustomFieldRequest": { "required": [ "customFieldId" ], "type": "object", "properties": { "customFieldId": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "5e4117fe8c625f38930d57b7" }, "sourceType": { "type": "string", "description": "Represents a custom field value source type.", "example": "WORKSPACE", "enum": [ "WORKSPACE", "PROJECT", "TIMEENTRY" ] }, "value": { "type": "object", "description": "Represents a custom field's value.", "example": "new value" } }, "description": "Represents a list of value objects for user’s custom fields." }, "UpdateCustomFieldRequestV1": { "required": [ "name", "type" ], "type": "object", "properties": { "allowedValues": { "type": "array", "description": "Represents a list of custom field's allowed values.", "example": [ "New York", "London", "Manila", "Sydney", "Belgrade" ], "items": { "type": "string", "description": "Represents a list of custom field's allowed values.", "example": "[\"New York\",\"London\",\"Manila\",\"Sydney\",\"Belgrade\"]" } }, "description": { "type": "string", "description": "Represents a custom field description.", "example": "This field contains a location." }, "name": { "maxLength": 250, "minLength": 2, "type": "string", "description": "Represents a custom field name.", "example": "location" }, "onlyAdminCanEdit": { "type": "boolean", "description": "Flag to set whether custom field is modifiable only by admin users.", "default": false }, "placeholder": { "type": "string", "description": "Represents a custom field placeholder value.", "example": "This is a sample placeholder." }, "required": { "type": "boolean", "description": "Flag to set whether custom field is mandatory or not.", "default": false }, "status": { "type": "string", "description": "Represents a custom field status", "example": "VISIBLE", "enum": [ "INACTIVE", "VISIBLE", "INVISIBLE" ] }, "type": { "type": "string", "description": "Represents a custom field type.", "example": "DROPDOWN_MULTIPLE", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "workspaceDefaultValue": { "type": "object", "description": "Represents a custom field's default value in the workspace.", "example": "Manila" } } }, "UpdateExpenseV1Request": { "required": [ "amount", "categoryId", "changeFields", "date", "file", "userId" ], "type": "object", "properties": { "amount": { "maximum": 92233720368547760, "minimum": 0, "type": "number", "description": "Represents an expense amount as the double data type.", "format": "double", "example": 99.5 }, "billable": { "type": "boolean", "description": "Indicates whether expense is billable or not.", "default": false }, "categoryId": { "type": "string", "description": "Represents a category identifier across the system.", "example": "45y687e29ae1f428e7ebe890" }, "changeFields": { "type": "array", "description": "Represents a list of expense change fields.", "example": [ "USER", "DATE", "PROJECT" ], "items": { "type": "string", "description": "Represents a list of expense change fields.", "example": "[\"USER\",\"DATE\",\"PROJECT\"]", "enum": [ "USER", "DATE", "PROJECT", "TASK", "CATEGORY", "NOTES", "AMOUNT", "BILLABLE", "FILE" ] } }, "date": { "type": "string", "description": "Provides a valid yyyy-MM-ddThh:mm:ssZ format date.", "format": "date-time", "example": "2020-01-01T00:00:00Z" }, "file": { "type": "string", "format": "binary" }, "notes": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents notes for an expense.", "example": "This is a sample note for this expense." }, "projectId": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "userId": { "minLength": 1, "type": "string", "description": "Represents a user identifier across the system.", "example": "89b687e29ae1f428e7ebe912" } } }, "UpdateHolidayRequestV1": { "required": [ "datePeriod", "name", "occursAnnually" ], "type": "object", "properties": { "automaticTimeEntryCreation": { "$ref": "#/components/schemas/AutomaticTimeEntryCreationRequest" }, "color": { "pattern": "^#(?:[0-9a-fA-F]{6}){1}$", "type": "string", "description": "Provide color in 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": "#8BC34A" }, "datePeriod": { "$ref": "#/components/schemas/DatePeriodRequest" }, "everyoneIncludingNew": { "type": "boolean", "description": "Indicates whether the holiday is shown to new users.", "example": false, "default": false }, "name": { "minLength": 1, "type": "string", "description": "Provide the name you would like to use for updating the holiday.", "example": "New Year's Day" }, "occursAnnually": { "type": "boolean", "description": "Indicates whether the holiday occurs annually.", "example": true, "default": false }, "userGroups": { "$ref": "#/components/schemas/ContainsUserGroupFilterRequest" }, "users": { "$ref": "#/components/schemas/ContainsUsersFilterRequestForHoliday" } } }, "UpdateInvoiceRequestV1": { "required": [ "currency", "discountPercent", "dueDate", "issuedDate", "number", "tax2Percent", "taxPercent" ], "type": "object", "properties": { "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "98h687e29ae1f428e7ebe707" }, "companyId": { "type": "string", "description": "Represents company identifier across the system.", "example": "04g687e29ae1f428e7ebe123" }, "currency": { "maxLength": 100, "minLength": 1, "type": "string", "description": "Represents the currency used by the invoice.", "example": "USD" }, "discountPercent": { "type": "number", "description": "Represents an invoice discount percent as double.", "format": "double", "example": 1.5 }, "dueDate": { "type": "string", "description": "Represents an invoice due date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-06-01T08:00:00Z" }, "issuedDate": { "type": "string", "description": "Represents an invoice issued date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T08:00:00Z" }, "note": { "type": "string", "description": "Represents an invoice note.", "example": "This is a sample note for this invoice." }, "number": { "minLength": 1, "type": "string", "description": "Represents an invoice number.", "example": "202306121129" }, "subject": { "type": "string", "description": "Represents an invoice subject.", "example": "January salary" }, "tax2Percent": { "type": "number", "description": "Represents an invoice tax 2 percent as double.", "format": "double", "example": 0 }, "taxPercent": { "type": "number", "description": "Represents an invoice tax percent as double.", "format": "double", "example": 0.5 }, "taxType": { "$ref": "#/components/schemas/TaxType" }, "visibleZeroFields": { "type": "string", "description": "Represents a list of zero value invoice fields that will be visible.", "example": "[\"TAX\",\"TAX_2\",\"DISCOUNT\"]", "enum": [ "TAX", "TAX_2", "DISCOUNT" ] } } }, "UpdateInvoiceSettingsRequestV1": { "required": [ "labels" ], "type": "object", "properties": { "defaults": { "$ref": "#/components/schemas/InvoiceDefaultSettingsRequestV1" }, "exportFields": { "$ref": "#/components/schemas/InvoiceExportFieldsRequest" }, "labels": { "$ref": "#/components/schemas/LabelsCustomizationRequest" } } }, "UpdateInvoicedStatusRequest": { "required": [ "invoiced", "timeEntryIds" ], "type": "object", "properties": { "invoiced": { "type": "boolean", "description": "Indicates whether time entry is invoiced or not.", "default": false }, "timeEntryIds": { "minItems": 1, "uniqueItems": true, "type": "array", "description": "Represents a list of invoiced time entry ids", "example": [ "54m377ddd3fcab07cfbb432w", "25b687e29ae1f428e7ebe123" ], "items": { "$ref": "#/components/schemas/TimeEntryId" } } } }, "UpdatePolicyRequestV1": { "required": [ "allowHalfDay", "allowNegativeBalance", "approve", "archived", "everyoneIncludingNew", "hasExpiration", "name", "userGroups", "users" ], "type": "object", "properties": { "allowHalfDay": { "type": "boolean", "description": "Indicates whether policy allows half day.", "example": true, "default": false }, "allowNegativeBalance": { "type": "boolean", "description": "Indicates whether policy allows negative balance.", "example": false, "default": false }, "approve": { "$ref": "#/components/schemas/PolicyApprovalDto" }, "archived": { "type": "boolean", "description": "Indicates whether policy is archived.", "example": false, "default": false }, "automaticAccrual": { "$ref": "#/components/schemas/AutomaticAccrualRequest" }, "automaticTimeEntryCreation": { "$ref": "#/components/schemas/AutomaticTimeEntryCreationRequest" }, "color": { "pattern": "^#(?:[0-9a-fA-F]{6}){1}$", "type": "string", "description": "Provide color in 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": "#8BC34A" }, "everyoneIncludingNew": { "type": "boolean", "description": "Indicates whether the policy is shown to new users.", "example": false, "default": false }, "hasExpiration": { "type": "boolean", "description": "Indicates whether the policy has expiration.", "example": false, "default": false }, "icon": { "type": "string", "description": "Provide icon.", "example": "UMBRELLA", "enum": [ "UMBRELLA", "SNOWFLAKE", "FAMILY", "PLANE", "STETHOSCOPE", "HEALTH_METRICS", "CHILDCARE", "LUGGAGE", "MONETIZATION", "CALENDAR" ] }, "name": { "maxLength": 100, "minLength": 2, "type": "string", "description": "Provide the name you would like to use for updating the policy.", "example": "Days" }, "negativeBalance": { "$ref": "#/components/schemas/NegativeBalanceRequest" }, "userGroups": { "$ref": "#/components/schemas/UserGroupIdsSchema" }, "users": { "$ref": "#/components/schemas/UserIdsSchema" } } }, "UpdateProjectMembershipsRequest": { "required": [ "memberships" ], "type": "object", "properties": { "memberships": { "type": "array", "description": "Represents a list of users with id and rates request objects.", "items": { "$ref": "#/components/schemas/UserIdWithRatesRequest" } }, "userGroups": { "$ref": "#/components/schemas/UserGroupIdsSchema" } } }, "UpdateProjectRequest": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Indicates whether project is archived or not.", "default": false }, "billable": { "type": "boolean", "description": "Indicates whether project is billable or not.", "default": false }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "9t641568b07987035750704" }, "color": { "pattern": "^#(?:[0-9a-fA-F]{6}){1}$", "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" }, "costRate": { "$ref": "#/components/schemas/CostRateRequestV1" }, "hourlyRate": { "$ref": "#/components/schemas/HourlyRateRequestV1" }, "isPublic": { "type": "boolean", "description": "Indicates whether project is public or not.", "default": false }, "name": { "maxLength": 250, "minLength": 2, "type": "string", "description": "Represents a project name.", "example": "Software Development" }, "note": { "maxLength": 16384, "type": "string", "description": "Represents project note.", "example": "This is a sample note for the project." } } }, "UpdateTagRequest": { "type": "object", "properties": { "archived": { "type": "boolean", "description": "Indicates whether a tag will be archived or not.", "default": false }, "name": { "maxLength": 100, "minLength": 0, "type": "string", "description": "Represents a tag name.", "example": "Sprint1" } } }, "UpdateTaskRequest": { "required": [ "name" ], "type": "object", "properties": { "assigneeId": { "type": "string", "deprecated": true }, "assigneeIds": { "uniqueItems": true, "type": "array", "description": "Represents list of assignee ids for the task.", "example": [ "45b687e29ae1f428e7ebe123", "67s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of assignee ids for the task.", "example": "[\"45b687e29ae1f428e7ebe123\",\"67s687e29ae1f428e7ebe678\"]" } }, "billable": { "type": "boolean", "description": "Indicates whether a task is billable or not.", "default": false }, "budgetEstimate": { "minimum": 0, "type": "integer", "description": "Represents a task budget estimate as integer.", "format": "int64", "example": 10000 }, "estimate": { "type": "string", "description": "Represents a task duration estimate.", "example": "PT1H30M" }, "name": { "maxLength": 1000, "minLength": 1, "type": "string", "description": "Represents task name.", "example": "Bugfixing" }, "status": { "type": "string", "description": "Represents task status.", "example": "DONE", "enum": [ "ACTIVE", "DONE", "ALL" ] }, "userGroupIds": { "uniqueItems": true, "type": "array", "description": "Represents list of user group ids for the task.", "example": [ "67b687e29ae1f428e7ebe123", "12s687e29ae1f428e7ebe678" ], "items": { "type": "string", "description": "Represents list of user group ids for the task.", "example": "[\"67b687e29ae1f428e7ebe123\",\"12s687e29ae1f428e7ebe678\"]" } } } }, "UpdateTimeEntryBulkRequest": { "required": [ "id" ], "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether a time entry is billable or not.", "default": false }, "customFields": { "maxItems": 50, "minItems": 0, "type": "array", "items": { "$ref": "#/components/schemas/UpdateCustomFieldRequest" } }, "description": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents a time entry description.", "example": "This is a sample time entry description." }, "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" }, "id": { "minLength": 1, "type": "string", "description": "Represents a time entry identifier across the system.", "example": "64c777ddd3fcab07cfbb210c" }, "projectId": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "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" }, "tagIds": { "type": "array", "description": "Represents a list of tag ids.", "example": [ "321r77ddd3fcab07cfbb567y", "44x777ddd3fcab07cfbb88f" ], "items": { "type": "string", "description": "Represents a list of tag ids.", "example": "[\"321r77ddd3fcab07cfbb567y\",\"44x777ddd3fcab07cfbb88f\"]" } }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "type": { "type": "string", "enum": [ "REGULAR", "BREAK" ] } } }, "UpdateTimeEntryRequest": { "required": [ "start" ], "type": "object", "properties": { "billable": { "type": "boolean", "description": "Indicates whether a time entry is billable or not.", "default": false }, "customFields": { "maxItems": 50, "minItems": 0, "type": "array", "description": "Represents a list of value objects for user’s custom fields.", "items": { "$ref": "#/components/schemas/UpdateCustomFieldRequest" } }, "description": { "maxLength": 3000, "minLength": 0, "type": "string", "description": "Represents time entry description.", "example": "This is a sample time entry description." }, "end": { "type": "string", "description": "Represents an end date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2021-01-01T00:00:00Z" }, "projectId": { "type": "string", "description": "Represents a project identifier across the system.", "example": "25b687e29ae1f428e7ebe123" }, "start": { "type": "string", "description": "Represents a start date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time", "example": "2020-01-01T00:00:00Z" }, "tagIds": { "type": "array", "description": "Represents a list of tag ids.", "example": [ "321r77ddd3fcab07cfbb567y", "44x777ddd3fcab07cfbb88f" ], "items": { "type": "string", "description": "Represents a list of tag ids.", "example": "[\"321r77ddd3fcab07cfbb567y\",\"44x777ddd3fcab07cfbb88f\"]" } }, "taskId": { "type": "string", "description": "Represents a task identifier across the system.", "example": "54m377ddd3fcab07cfbb432w" }, "type": { "type": "string", "enum": [ "REGULAR", "BREAK" ] } } }, "UpdateUserGroupRequest": { "type": "object", "properties": { "name": { "maxLength": 100, "minLength": 0, "type": "string", "description": "Represents a user group name.", "example": "development_team" } } }, "UpdateUserStatusRequest": { "required": [ "status" ], "type": "object", "properties": { "status": { "type": "string", "description": "Represents membership status.", "example": "ACTIVE", "enum": [ "ACTIVE", "INACTIVE" ] } } }, "UpdateWebhookRequestV1": { "required": [ "triggerSource", "triggerSourceType", "url", "webhookEvent" ], "type": "object", "properties": { "name": { "maxLength": 30, "minLength": 2, "type": "string", "description": "Represents a webhook name.", "example": "Stripe" }, "triggerSource": { "type": "array", "description": "Represents a list of trigger sources.", "example": [ "54a687e29ae1f428e7ebe909", "87p187e29ae1f428e7ebej56" ], "items": { "type": "string", "description": "Represents a list of trigger sources.", "example": "[\"54a687e29ae1f428e7ebe909\",\"87p187e29ae1f428e7ebej56\"]" } }, "triggerSourceType": { "type": "string", "description": "Represents a webhook event trigger source type.", "example": "PROJECT_ID", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "url": { "minLength": 1, "type": "string", "description": "Represents a workspace identifier across the system.", "example": "https://example-clockify.com/stripeEndpoint" }, "webhookEvent": { "type": "string", "description": "Represents a webhook event type.", "example": "NEW_PROJECT", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] } } }, "UploadFileResponseV1": { "type": "object", "properties": { "name": { "type": "string", "description": "File name of the uploaded image", "example": "image-01234567.jpg" }, "url": { "type": "string", "description": "The URL of the uploaded image in the server", "example": "https://clockify.com/image-01234567.jpg" } } }, "UpsertUserCustomFieldRequest": { "required": [ "customFieldId" ], "type": "object", "properties": { "customFieldId": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "5e4117fe8c625f38930d57b7" }, "value": { "type": "object", "description": "Represents custom field value.", "example": "20231211-12345" } }, "description": "Represents a list of upsert user custom field objects." }, "UpsertUserCustomFieldRequestV1": { "type": "object", "properties": { "value": { "type": "object", "description": "Represents custom field value.", "example": "20231211-12345" } } }, "UserCustomFieldValueDtoV1": { "type": "object", "properties": { "customFieldId": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "5e4117fe8c625f38930d57b7" }, "customFieldName": { "type": "string", "description": "Represents custom field name.", "example": "TIN" }, "customFieldType": { "$ref": "#/components/schemas/CustomFieldType" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "value": { "type": "object", "description": "Represents custom field value.", "example": "20231211-12345" } }, "description": "Represents a list of value objects for user’s custom fields." }, "UserCustomFieldValueFullDtoV1": { "type": "object", "properties": { "customField": { "$ref": "#/components/schemas/CustomFieldDtoV1" }, "customFieldId": { "type": "string", "description": "Represents custom field identifier across the system.", "example": "5e4117fe8c625f38930d57b7" }, "name": { "type": "string", "description": "Represents user custom field name.", "example": "race" }, "sourceType": { "type": "string", "description": "Represents user custom field source type.", "example": "WORKSPACE", "enum": [ "WORKSPACE", "USER" ] }, "type": { "type": "string", "description": "Represents custom field type.", "example": "DROPDOWN_MULTIPLE", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ] }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "value": { "type": "object", "description": "Represents user custom field value.", "example": "Asian" } }, "description": "Represents a list of value objects for user’s custom fields." }, "UserDtoV1": { "type": "object", "properties": { "activeWorkspace": { "type": "string", "description": "Represents user's active workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" }, "customFields": { "type": "array", "description": "Represents a list of value objects for user’s custom fields.", "items": { "$ref": "#/components/schemas/UserCustomFieldValueDtoV1" } }, "defaultWorkspace": { "type": "string", "description": "Represents user default workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" }, "email": { "type": "string", "description": "Represents email address of the user.", "example": "johndoe@example.com" }, "id": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "memberships": { "type": "array", "description": "Represents a list of membership objects.", "items": { "$ref": "#/components/schemas/MembershipDtoV1" } }, "name": { "type": "string", "description": "Represents name of the user.", "example": "John Doe" }, "profilePicture": { "type": "string", "description": "Represents profile image path of the user.", "example": "https://www.url.com/profile-picture1234567890.png" }, "settings": { "$ref": "#/components/schemas/UserSettingsDtoV1" }, "status": { "$ref": "#/components/schemas/AccountStatus" } } }, "UserGroupDtoV1": { "type": "object", "properties": { "id": { "type": "string", "description": "Represents a user group identifier across the system.", "example": "76a687e29ae1f428e7ebe101" }, "name": { "type": "string", "description": "Represents a user group name.", "example": "development_team" }, "teamManagers": { "type": "array", "description": "Represents a list of assigned team managers for this user group.", "example": [ { "id": "672323eb0024343a1585e8a7", "name": "Jane Doe" } ], "items": { "$ref": "#/components/schemas/UserRedactedDtoV1" } }, "userIds": { "type": "array", "description": "Represents a list of users' identifiers across the system.", "example": [ "5a0ab5acb07987125438b60f", "98j4b5acb07987125437y32" ], "items": { "type": "string", "description": "Represents a list of users' identifiers across the system.", "example": "[\"5a0ab5acb07987125438b60f\",\"98j4b5acb07987125437y32\"]" } }, "workspaceId": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "UserGroupIdsSchema": { "type": "object", "properties": { "contains": { "type": "string", "example": "CONTAINS", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN" ] }, "ids": { "uniqueItems": true, "type": "array", "description": "Represents ids upon which filtering is performed.", "example": [ "5b715612b079875110791111", "5b715612b079875110791222" ], "items": { "type": "string", "description": "Represents ids upon which filtering is performed.", "example": "[\"5b715612b079875110791111\",\"5b715612b079875110791222\"]" } }, "status": { "type": "string", "description": "Represents user status.", "example": "ALL", "enum": [ "ALL", "ACTIVE", "INACTIVE" ] } }, "description": "Provide list with user group ids and corresponding status." }, "UserGroupRequest": { "type": "object", "properties": { "name": { "maxLength": 100, "minLength": 0, "type": "string", "description": "Represents a user group name.", "example": "development_team" } } }, "UserGroupUserRequest": { "required": [ "userId" ], "type": "object", "properties": { "userId": { "type": "string", "description": "Represents a user identifier across the system.", "example": "5a0ab5acb07987125438b60f" } } }, "UserIdWithRatesRequest": { "required": [ "userId" ], "type": "object", "properties": { "costRate": { "$ref": "#/components/schemas/CostRateRequestV1" }, "hourlyRate": { "$ref": "#/components/schemas/HourlyRateRequestV1" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "12t687e29ae1f428e7ebe202" } }, "description": "Represents a list of users with id and rates request objects." }, "UserIdsSchema": { "type": "object", "properties": { "contains": { "type": "string", "example": "CONTAINS", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN" ] }, "ids": { "uniqueItems": true, "type": "array", "description": "Represents ids upon which filtering is performed.", "example": [ "5b715612b079875110791111", "5b715612b079875110791222" ], "items": { "type": "string", "description": "Represents ids upon which filtering is performed.", "example": "[\"5b715612b079875110791111\",\"5b715612b079875110791222\"]" } }, "status": { "type": "string", "description": "Represents user status.", "example": "ALL", "enum": [ "ALL", "ACTIVE", "INACTIVE" ] } }, "description": "Provide list with user ids and corresponding status." }, "UserRedactedDtoV1": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "description": "Represents a list of assigned team managers for this user group.", "example": [ { "id": "672323eb0024343a1585e8a7", "name": "Jane Doe" } ] }, "UserSettingsDtoV1": { "required": [ "dateFormat", "timeFormat", "timeZone" ], "type": "object", "properties": { "alerts": { "type": "boolean", "example": true, "default": false }, "approval": { "type": "boolean", "example": false, "default": false }, "collapseAllProjectLists": { "type": "boolean", "example": true, "default": false }, "dashboardPinToTop": { "type": "boolean", "example": true, "default": false }, "dashboardSelection": { "type": "string", "example": "ME", "enum": [ "ME", "TEAM" ] }, "dashboardViewType": { "type": "string", "example": "BILLABILITY", "enum": [ "PROJECT", "BILLABILITY" ] }, "dateFormat": { "minLength": 1, "type": "string", "description": "Represents a date format.", "example": "MM/DD/YYYY" }, "groupSimilarEntriesDisabled": { "type": "boolean", "example": true, "default": false }, "invoiceReminders": { "type": "boolean", "example": false, "default": false }, "isCompactViewOn": { "type": "boolean", "example": false, "default": false }, "lang": { "type": "string", "example": "en" }, "longRunning": { "type": "boolean", "example": true, "default": false }, "multiFactorEnabled": { "type": "boolean", "example": true, "default": false }, "myStartOfDay": { "type": "string", "example": "09:00" }, "onboarding": { "type": "boolean", "example": false, "default": false }, "projectListCollapse": { "type": "integer", "format": "int32", "example": 15 }, "projectPickerTaskFilter": { "type": "boolean", "example": false, "default": false }, "pto": { "type": "boolean", "example": true, "default": false }, "reminders": { "type": "boolean", "example": false, "default": false }, "scheduledReports": { "type": "boolean", "example": true, "default": false }, "scheduling": { "type": "boolean", "example": false, "default": false }, "sendNewsletter": { "type": "boolean", "example": false, "default": false }, "showOnlyWorkingDays": { "type": "boolean", "example": false, "default": false }, "summaryReportSettings": { "$ref": "#/components/schemas/SummaryReportSettingsDtoV1" }, "theme": { "type": "string", "example": "DARK", "enum": [ "DARK", "DEFAULT" ] }, "timeFormat": { "minLength": 1, "type": "string", "description": "Represents a time format enum.", "example": "HOUR24", "enum": [ "HOUR12", "HOUR24" ] }, "timeTrackingManual": { "type": "boolean", "example": true, "default": false }, "timeZone": { "minLength": 1, "type": "string", "description": "Represents a valid timezone ID", "example": "Asia/Aden" }, "weekStart": { "type": "string", "description": "Represents a day of the week.", "example": "MONDAY", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "weeklyUpdates": { "type": "boolean", "example": false, "default": false } }, "description": "Represents user settings object." }, "VisibleZeroFieldsInvoice": { "type": "object", "description": "Represents a list of zero value invoice fields that will be visible.", "example": [ "TAX", "TAX_2", "DISCOUNT" ], "oneOf": [ { "type": "string", "enum": [ "TAX", "TAX_2", "DISCOUNT" ] } ], "properties": { "DISCOUNT": { "type": "string", "enum": [ "TAX", "TAX_2", "DISCOUNT" ] }, "TAX": { "type": "string", "enum": [ "TAX", "TAX_2", "DISCOUNT" ] }, "TAX_2": { "type": "string", "enum": [ "TAX", "TAX_2", "DISCOUNT" ] } } }, "WebhookDtoV1": { "type": "object", "properties": { "authToken": { "type": "string", "description": "Represents an authentication token.", "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI2NGI3YmU3YmUwODM1Yjc2ZDYzOTY5YTciLCJtdWx0aUZhY3RvciI6dHJ1ZSwiaXNzIjoiY2xvY2tpZnkiLCJuYW1lIjoiTWFydGluIExsb3lkIiwiZXhwIjoxNjkzMzY5MzEwLCJ0eXBlIjoiYWNjZXNzIiwiaWF0IjoxNjkzMzI2MTEwLCJqdGkiOiJZVGcxT0Raak9XTXRPRGRsWVMwME5qZ3hMVGxpTlRndE5UQmlOVEprTmpOaE" }, "deliveryEnabled": { "type": "boolean", "description": "Indicates whether webhook delivery is enabled or not. It can be disabled if delivery failed for too many times.", "default": false }, "enabled": { "type": "boolean", "description": "Indicates whether webhook is enabled or not.", "default": false }, "id": { "type": "string", "description": "Represents webhook identifier across the system.", "example": "76a687e29ae1f428e7ebe101" }, "name": { "type": "string", "description": "Represents webhook name.", "example": "stripe" }, "planEnabled": { "type": "boolean", "description": "Indicates whether webhook is supported by current plan. It can be disabled if number of webhooks exceeds plan limit or if the feature is not supported on current plan.", "default": false }, "triggerSource": { "type": "array", "description": "Represents a list of trigger sources.", "example": [ "54a687e29ae1f428e7ebe909", "87p187e29ae1f428e7ebej56" ], "items": { "type": "string", "description": "Represents a list of trigger sources.", "example": "[\"54a687e29ae1f428e7ebe909\",\"87p187e29ae1f428e7ebej56\"]" } }, "triggerSourceType": { "$ref": "#/components/schemas/WebhookEventTriggerSourceType" }, "url": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "https://example-clockify.com/stripeEndpoint" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5a0ab5acb07987125438b60f" }, "webhookEvent": { "$ref": "#/components/schemas/WebhookEventType" }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "WebhookEventTriggerSourceType": { "type": "object", "description": "Represents a webhook event trigger source type.", "example": "PROJECT_ID", "oneOf": [ { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] } ], "properties": { "ASSIGNMENT_ID": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "EXPENSE_ID": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "PROJECT_ID": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "TAG_ID": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "TASK_ID": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "USER_ID": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "WORKSPACE_ID": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] }, "entityType": { "type": "string", "enum": [ "AUTH", "ALERT", "APPROVAL_REQUEST", "ASSIGNMENT", "CLIENT", "DOMAIN", "EXPENSE", "EXPENSE_CATEGORY", "EXPORT_SETTINGS", "INVOICE", "INVOICE_RECURRING_SETTINGS", "INVOICE_REMINDERS", "INVOICE_REMINDERS_INTERVALS", "INVOICE_ITEM_TYPE", "PASSWORD_RESET_TOKEN", "PROJECT", "PROJECT_FAVORITE", "REMINDER", "REPORT", "ORGANIZATION", "TEMPLATE", "TIMEENTRY", "TIMEENTRY_RATE", "TAG", "TASK", "TASK_FAVORITES", "USER", "WORKSPACE_USER", "USER_GROUP", "WEBHOOK", "WORKSPACE", "CUSTOM_FIELD", "WEBHOOK_LOG", "SCHEDULE_ASSIGNMENT", "SCHEDULE_MILESTONE", "COMPANY", "CURRENCY", "KIOSK_PIN_CODE", "KIOSK", "KIOSK_SESSION", "MARKETPLACE_ADDON", "INVOICE_PAYMENT", "DELETION_DOCUMENT", "FAVORITE_TIMEENTRY", "HOLIDAY", "POLICY", "POLICY_ASSIGNMENT", "EMAIL_KEY_REQUEST", "EMAIL_SESSION_REQUEST", "FEATURE_SUBSCRIPTION", "TIME_OFF_REQUEST", "LOG_BIN", "BALANCE_ASSIGNMENT", "CUSTOM_COLOR", "CUSTOM_COLORS_INDEX", "SAMPLE_DATA", "WEBHOOK_EVENT_STATUS" ] } } }, "WebhookEventType": { "type": "object", "description": "Represents webhook event type.", "example": "NEW_PROJECT", "oneOf": [ { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] } ], "properties": { "APPROVAL_REQUEST_STATUS_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "ASSIGNMENT_CREATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "ASSIGNMENT_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "ASSIGNMENT_PUBLISHED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "ASSIGNMENT_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "BALANCE_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "BILLABLE_RATE_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "CLIENT_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "CLIENT_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "COST_RATE_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "EXPENSE_CREATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "EXPENSE_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "EXPENSE_RESTORED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "EXPENSE_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "INVOICE_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "LIMITED_USERS_ADDED_TO_WORKSPACE": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_APPROVAL_REQUEST": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_CLIENT": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_INVOICE": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_PROJECT": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_TAG": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_TASK": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_TIMER_STARTED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "NEW_TIME_ENTRY": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "PROJECT_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "PROJECT_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TAG_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TAG_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TASK_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TASK_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIMER_STOPPED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_ENTRY_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_ENTRY_RESTORED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_ENTRY_SPLIT": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_ENTRY_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_OFF_REQUESTED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_OFF_REQUEST_APPROVED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_OFF_REQUEST_REJECTED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_OFF_REQUEST_STARTED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_OFF_REQUEST_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "TIME_OFF_REQUEST_WITHDRAWN": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USERS_INVITED_TO_WORKSPACE": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_ACTIVATED_ON_WORKSPACE": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_DEACTIVATED_ON_WORKSPACE": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_DELETED_FROM_WORKSPACE": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_EMAIL_CHANGED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_GROUP_CREATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_GROUP_DELETED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_GROUP_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_JOINED_WORKSPACE": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "USER_UPDATED": { "type": "string", "enum": [ "NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED" ] }, "feature": { "type": "string", "enum": [ "ADD_TIME_FOR_OTHERS", "ADMIN_PANEL", "ALERTS", "APPROVAL", "AUDIT_LOG", "AUTOMATIC_LOCK", "BRANDED_REPORTS", "BULK_EDIT", "CUSTOM_FIELDS", "CUSTOM_REPORTING", "CUSTOM_SUBDOMAIN", "CREATION_PERMISSIONS", "DECIMAL_FORMAT", "DISABLE_MANUAL_MODE", "EDIT_MEMBER_PROFILE", "EXCLUDE_NON_BILLABLE_FROM_ESTIMATE", "EXPENSES", "FILE_IMPORT", "TIMESHEET_IMPORT", "USER_IMPORT", "HIDE_PAGES", "HISTORIC_RATES", "INVOICING", "INVOICE_EMAILS", "INVOICE_REMINDERS", "LABOR_COST", "LOCATIONS", "MANAGER_ROLE", "MULTI_FACTOR_AUTHENTICATION", "PROJECT_BUDGET", "PROJECT_TEMPLATES", "GRANT_PROJECT_MANAGER_ROLE", "PRIVATE_PROJECT_ACCESS", "QUICKBOOKS_INTEGRATION", "RECURRING_ESTIMATES", "RECURRING_INVOICES", "REQUIRED_FIELDS", "SCHEDULED_REPORTS", "SCHEDULING", "SCREENSHOTS", "SSO", "SUMMARY_ESTIMATE", "TARGETS_AND_REMINDERS", "TASK_RATES", "TIME_OFF", "UNLIMITED_REPORTS", "USER_CUSTOM_FIELDS", "WHO_CAN_CHANGE_TIMEENTRY_BILLABILITY", "BREAKS", "KIOSK_SESSION_DURATION", "KIOSK_PIN_REQUIRED", "WHO_CAN_SEE_ALL_TIME_ENTRIES", "WHO_CAN_SEE_PROJECT_STATUS", "WHO_CAN_SEE_PUBLIC_PROJECTS_ENTRIES", "WHO_CAN_SEE_TEAMS_DASHBOARD", "WORKSPACE_LOCK_TIMEENTRIES", "WORKSPACE_TIME_AUDIT", "WORKSPACE_TIME_ROUNDING", "KIOSK", "KIOSK_SIX_DIGIT_PIN", "KIOSK_QR_CODE", "LIMITED_USERS", "FORECASTING", "TIME_TRACKING", "ATTENDANCE_REPORT", "WORKSPACE_TRANSFER", "FAVORITE_ENTRIES", "SPLIT_TIME_ENTRY", "CLIENT_CURRENCY", "SCHEDULING_FORECASTING", "SCIM", "UNLIMITED_USER_SEATS", "BILLABLE_HOURS", "PROJECT_ESTIMATE", "CSV_EXPORT", "XLSX_EXPORT", "ONE_MONTH_RANGE_REPORTS", "ONE_YEAR_RANGE_REPORTS", "SHARED_REPORTS" ] }, "payloadType": { "type": "string", "enum": [ "PROJECT", "TIME_ENTRY", "TIME_ENTRY_PLAKY_INTEGRATION", "CLIENT", "TAG", "TASK", "WEBHOOK", "WEBHOOK_LOG", "NO_PAYLOAD", "DOMAIN_DETAILS", "WORKSPACE_DELETED_DETAILS", "USER", "USER_GROUP", "FILE_IMPORT_RESULTS", "APPROVAL_REQUEST", "INVOICE", "TIME_OFF_REQUEST", "BALANCE_UPDATED", "ASSIGNMENT_WEBHOOK", "ASSIGNMENT", "TIME_ENTRY_WITH_CUSTOM_FIELD", "TIME_ENTRY_BATCH_DELETED_IDS", "ADDITIONAL_WORKSPACE", "EXPENSE", "WORKSPACE_TRANSFER_DETAILS", "PROJECT_STATUS_FAILED", "INVITED_USERS", "ADDED_LIMITED_USERS", "RATE_UPDATED", "JIRA_INSTALLED_PAYLOAD_WITH_JWT", "JIRA_UNINSTALLED_PAYLOAD_WITH_JWT", "JIRA_WORKLOG_PAYLOAD_WITH_JWT", "JIRA_DATA_CENTER_INSTALLED_PAYLOAD_WITH_JWT", "JIRA_DATA_CENTER_UNINSTALLED_PAYLOAD_WITH_JWT", "JIRA_PLUGIN_CONFIG_SAVE_PAYLOAD_WITH_JWT", "REMINDER_TO_START_TIMER", "REMINDER_TO_STOP_TIMER" ] }, "validSourceTypes": { "type": "array", "items": { "type": "string", "enum": [ "PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID" ] } } } }, "WebhookLogDtoV1": { "type": "object", "properties": { "id": { "type": "string", "description": "Represents log identifier across the system.", "example": "65e5b854fe0dfa24f1528ef0" }, "requestBody": { "type": "string", "description": "Represents request body.", "example": "{\"id\":\"65df50f5d2dd8f23a685374e\",\"name\":\"Webhook\"}" }, "respondedAt": { "type": "string", "description": "Represents date and time of response.", "example": "2024-03-04T12:02:28.125+00:00" }, "responseBody": { "type": "string", "description": "Represents response body.", "example": "{\"id\":\"h73210f5d2dd8f23685374e\",\"response\":\"Webhook response\"}" }, "statusCode": { "type": "integer", "description": "Represents response status code.", "format": "int32", "example": 200 }, "webhookEventStatusId": { "type": "string", "description": "Represents webhook event status identifier across the system.", "example": "6818c52b391aca499bf8dafc" }, "webhookId": { "type": "string", "description": "Represents webhook identifier across the system.", "example": "65df5508d2dd8f23a68537af" } } }, "WebhookLogSearchRequestV1": { "type": "object", "properties": { "from": { "type": "string", "description": "Represents date and time in yyyy-MM-ddThh:mm:ssZ format. If provided, results will include logs which occurred after this value.", "format": "date-time", "example": "2023-02-01T13:00:46Z" }, "sortByNewest": { "type": "boolean", "description": "If set to true, logs will be sorted with most recent first.", "default": false }, "status": { "type": "string", "description": "Filters logs by status.", "enum": [ "ALL", "SUCCEEDED", "FAILED" ] }, "to": { "type": "string", "description": "Represents date and time in yyyy-MM-ddThh:mm:ssZ format. If provided, results will include logs which occurred before this value.", "format": "date-time", "example": "2023-02-05T13:00:46Z" } } }, "WebhooksDtoV1": { "type": "object", "properties": { "webhooks": { "type": "array", "description": "Represents a list of webhook objects for the workspace.", "items": { "$ref": "#/components/schemas/WebhookDtoV1" } }, "workspaceWebhookCount": { "type": "integer", "description": "Represents number of webhooks for the workspace.", "format": "int32", "example": 5 } } }, "WorkspaceDtoV1": { "type": "object", "properties": { "cakeOrganizationId": { "type": "string", "description": "Represents the Cake organization identifier across the system.", "example": "67d471fb56aa9668b7bfa295" }, "costRate": { "$ref": "#/components/schemas/RateDtoV1" }, "currencies": { "type": "array", "description": "Represents currency with default info object.", "items": { "$ref": "#/components/schemas/CurrencyWithDefaultInfoDtoV1" } }, "featureSubscriptionType": { "$ref": "#/components/schemas/FeaturePlan" }, "features": { "$ref": "#/components/schemas/Feature" }, "hourlyRate": { "$ref": "#/components/schemas/HourlyRateDtoV1" }, "id": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" }, "imageUrl": { "type": "string", "description": "Represents an image url.", "example": "https://www.url.com/imageurl-1234567890.jpg" }, "memberships": { "type": "array", "description": "Represents a list of membership objects.", "items": { "$ref": "#/components/schemas/MembershipDtoV1" } }, "name": { "type": "string", "description": "Represents workspace name.", "example": "Cool Company" }, "subdomain": { "$ref": "#/components/schemas/WorkspaceSubdomainDtoV1" }, "workspaceSettings": { "$ref": "#/components/schemas/WorkspaceSettingsDtoV1" } } }, "WorkspaceSettingsDtoV1": { "type": "object", "properties": { "activeBillableHours": { "type": "boolean", "description": "Indicates whether billable hours is active.", "default": false }, "adminOnlyPages": { "type": "string", "description": "Represents a unique list of protected page enums.", "example": "[\"PROJECT\",\"TEAM\",\"REPORTS\"]", "enum": [ "PROJECT", "TEAM", "REPORTS" ] }, "automaticLock": { "$ref": "#/components/schemas/AutomaticLockDtoV1" }, "canSeeTimeSheet": { "type": "boolean", "description": "Indicates whether timesheets are visible or not.", "default": false }, "canSeeTracker": { "type": "boolean", "description": "Indicates whether time trackers are visible or not.", "default": false }, "currencyFormat": { "type": "string", "description": "Represents a clockify currency format enum.", "example": "CURRENCY_SPACE_VALUE", "enum": [ "CURRENCY_SPACE_VALUE", "VALUE_SPACE_CURRENCY", "CURRENCY_VALUE", "VALUE_CURRENCY" ] }, "defaultBillableProjects": { "type": "boolean", "description": "Indicates whether projects are billable by default.", "default": false }, "durationFormat": { "type": "string", "description": "Represents a clockify duration format enum. Used to set Duration format instead of setting decimalFormat and trackTimeDownToSecond.", "example": "FULL", "enum": [ "FULL", "COMPACT", "DECIMAL" ] }, "entityCreationPermissions": { "$ref": "#/components/schemas/EntityCreationPermissionsDtoV1" }, "forceDescription": { "type": "boolean", "description": "Indicates whether description are forced or not.", "default": false }, "forceProjects": { "type": "boolean", "description": "Indicates whether projects are forced or not.", "default": false }, "forceTags": { "type": "boolean", "description": "Indicates whether tags are forced or not.", "default": false }, "forceTasks": { "type": "boolean", "description": "Indicates whether tasks are forced or not.", "default": false }, "isProjectPublicByDefault": { "type": "boolean" }, "lockTimeEntries": { "type": "string", "example": "2024-02-25T23:00:00Z" }, "lockTimeZone": { "type": "string", "example": "Europe/Belgrade" }, "multiFactorEnabled": { "type": "boolean", "description": "Indicates whether two-factor authentication is enabled or not.", "default": false }, "numberFormat": { "type": "string", "description": "Represents a clockify number format enum.", "example": "COMMA_PERIOD", "enum": [ "COMMA_PERIOD", "PERIOD_COMMA", "QUOTATION_MARK_PERIOD", "SPACE_COMMA" ] }, "onlyAdminsCanChangeBillableStatus": { "type": "boolean", "description": "Indicates whether only admins can change billable status.", "default": false }, "onlyAdminsCreateProject": { "type": "boolean", "description": "Indicates whether only admins can create projects.", "default": false }, "onlyAdminsCreateTag": { "type": "boolean", "description": "Indicates whether only admins can create tags.", "default": false }, "onlyAdminsCreateTask": { "type": "boolean", "description": "Indicates whether only admins can create task.", "default": false }, "onlyAdminsSeeAllTimeEntries": { "type": "boolean", "description": "Indicates whether only admins can see all time entries.", "default": false }, "onlyAdminsSeeBillableRates": { "type": "boolean", "description": "Indicates whether only admins can see billable rates.", "default": false }, "onlyAdminsSeeDashboard": { "type": "boolean", "description": "Indicates whether only admins can see dashboard.", "default": false }, "onlyAdminsSeePublicProjectsEntries": { "type": "boolean", "description": "Indicates whether only admins can see public project entries.", "default": false }, "projectFavorites": { "type": "boolean", "description": "Indicates whether project favorites are allowed.", "default": false }, "projectGroupingLabel": { "type": "string", "description": "Represents a project grouping label.", "example": "Project Label" }, "projectLabel": { "type": "string", "description": "Represents a project label." }, "projectPickerSpecialFilter": { "type": "boolean", "description": "Indicates whether project picker special filter is enabled.", "default": false }, "round": { "$ref": "#/components/schemas/RoundDto" }, "taskLabel": { "type": "string", "description": "Represents a task label." }, "timeRoundingInReports": { "type": "boolean", "description": "Indicates whether time rounding is enabled in reports.", "default": false }, "timeTrackingMode": { "type": "string", "description": "Represents a time tracking mode enum.", "example": "DEFAULT", "enum": [ "DEFAULT", "STOPWATCH_ONLY" ] }, "trackTimeDownToSecond": { "type": "boolean", "description": "Indicates whether time tracking is seconds-accurate. This is now deprecated and durationFormat can now be used to manage Time Duration Format.", "deprecated": true, "default": false }, "workingDays": { "uniqueItems": true, "type": "array", "description": "Represents a list of working days.", "items": { "type": "string", "description": "Represents a list of working days.", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] } } }, "description": "Workspace settings also include Time Duration Format settings.\n\nSetting Time Duration Format by changing the boolean fields\ndecimalFormat and trackTimeDownToSecond is now deprecated.\n\nTime Duration Format can be set by durationFormat enum field.\n\nThree different Time Duration modes will still map the boolean fields:\n\n 1. Full (hh:mm:ss) -> decimalFormat = false, trackTimeDownToSecond = true,\n\n 2. Compact (h:mm) -> decimalFormat = false, trackTimeDownToSecond = false,\n\n 3. Decimal (h:hh) -> decimalFormat = true, trackTimeDownToSecond = true\n\n" }, "WorkspaceSubdomainDtoV1": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Indicates whether subdomain is enabled on workspace", "default": false }, "name": { "type": "string", "description": "Represents subdomain name", "example": "coolcompany" } }, "description": "Represents the workspace subdomain" }, "AmountDto": { "type": "object", "description": "List of amounts", "properties": { "type": { "type": "string", "description": "Represents amount type", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "PROFIT" }, "value": { "type": "number", "description": "Represents amount value", "example": 1000 } } }, "AttendanceDto": { "type": "object", "description": "List of entities", "properties": { "break": { "type": "integer", "format": "int64" }, "capacity": { "type": "integer", "format": "int32" }, "date": { "type": "string" }, "endTime": { "type": "string" }, "hasRunningEntry": { "type": "boolean" }, "imageUrl": { "type": "string" }, "overtime": { "type": "integer", "format": "int64" }, "remainingCapacity": { "type": "integer", "format": "int64" }, "startTime": { "type": "string" }, "timeOff": { "type": "integer", "format": "int64" }, "totalDuration": { "type": "integer", "format": "int64" }, "userId": { "type": "string" }, "userName": { "type": "string" } } }, "AttendanceFilterV1": { "type": "object", "description": "Represents an attendance report filter.", "properties": { "breakFilters": { "type": "array", "items": { "$ref": "#/components/schemas/CompareBreakFilter" } }, "capacityFilters": { "type": "array", "items": { "$ref": "#/components/schemas/CompareCapacityFilter" } }, "endFilters": { "type": "array", "items": { "$ref": "#/components/schemas/CompareEndFilter" } }, "hasTimeOff": { "type": "boolean", "description": "If set to true, report will include time off hours.", "example": true }, "overtimeFilters": { "type": "array", "items": { "$ref": "#/components/schemas/CompareOvertimeFilter" } }, "page": { "type": "integer", "format": "int32", "default": 1, "description": "Specifies page number.", "minimum": 1 }, "pageSize": { "type": "integer", "format": "int32", "description": "Specifies page size.", "minimum": 1 }, "sortColumn": { "type": "string", "enum": [ "USER", "DATE", "START", "END", "BREAK", "WORK", "CAPACITY", "OVERTIME", "TIME_OFF" ] }, "startFilters": { "type": "array", "items": { "$ref": "#/components/schemas/CompareStartFilter" } }, "workFilters": { "type": "array", "items": { "$ref": "#/components/schemas/CompareWorkFilter" } } } }, "AttendanceReportDtoV1": { "type": "object", "description": "report", "properties": { "entities": { "type": "array", "description": "List of entities", "items": { "$ref": "#/components/schemas/AttendanceDto" } } } }, "AttendanceReportFilterV1": { "type": "object", "properties": { "amountShown": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided amount shown.", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "COST" }, "amounts": { "type": "array", "items": { "type": "string", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "[EARNED, COST]" } }, "approvalState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided approval state.", "enum": [ "APPROVED", "UNAPPROVED", "ALL" ], "example": "APPROVED" }, "archived": { "type": "boolean", "description": "Indicates whether the report is archived", "example": false }, "attendanceFilter": { "$ref": "#/components/schemas/AttendanceFilterV1" }, "billable": { "type": "boolean", "description": "Indicates whether the report is billable", "example": true }, "clients": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "currency": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "customFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" } }, "dateFormat": { "type": "string", "description": "Provide date in format YYYY-MM-DD", "example": "2018-11-01" }, "dateRangeEnd": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-30T23:59:59.999", "minLength": 1 }, "dateRangeStart": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-01T00:00:00", "minLength": 1 }, "dateRangeType": { "type": "string", "description": "Provide the date range type", "enum": [ "ABSOLUTE", "TODAY", "YESTERDAY", "THIS_WEEK", "LAST_WEEK", "PAST_TWO_WEEKS", "THIS_MONTH", "LAST_MONTH", "THIS_YEAR", "LAST_YEAR" ], "example": "LAST_MONTH" }, "description": { "type": "string", "description": "Represents search term for filtering report entries by description", "example": "some description keyword" }, "detailedFilter": { "$ref": "#/components/schemas/DetailedFilterV1" }, "exportType": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided export type.", "enum": [ "JSON", "JSON_V1", "PDF", "CSV", "XLSX", "ZIP" ], "example": "JSON" }, "invoicingState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided invoicing state.", "enum": [ "INVOICED", "UNINVOICED", "ALL" ], "example": "INVOICED" }, "projects": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "rounding": { "type": "boolean", "description": "Indicates whether the report filter is rounding", "example": false }, "sortOrder": { "type": "string", "description": "If provided, you'll get sorted result by provided sort order.", "enum": [ "ASCENDING", "DESCENDING" ], "example": "ASCENDING" }, "summaryFilter": { "$ref": "#/components/schemas/SummaryFilterV1" }, "tags": { "$ref": "#/components/schemas/ContainsTagFilterV1" }, "tasks": { "$ref": "#/components/schemas/ContainsTaskFilterV1" }, "timeFormat": { "type": "string", "description": "Provide time in format THH:MM:SS.ssssss", "example": "T00:00:00" }, "timeZone": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided time zone.", "example": "Europe/Belgrade" }, "userGroups": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "userLocale": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided user locale.", "example": "en" }, "users": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "weekStart": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided week start.", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "example": "MONDAY" }, "weeklyFilter": { "$ref": "#/components/schemas/WeeklyFilterV1" }, "withoutDescription": { "type": "boolean", "description": "If set to 'true', report will only include entries with empty description", "example": false }, "zoomLevel": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided zoom level.", "enum": [ "WEEK", "MONTH", "YEAR" ], "example": "WEEK" } }, "required": [ "attendanceFilter", "dateRangeEnd", "dateRangeStart" ] }, "AuditFilterV1": { "type": "object", "properties": { "duration": { "type": "integer", "format": "int32", "description": "Represent audit duration.", "example": 2 }, "durationShorter": { "type": "boolean", "description": "Represent audit duration shorter.", "example": false }, "withoutProject": { "type": "boolean", "description": "Indicates whether to filter without a project.", "example": false }, "withoutTask": { "type": "boolean", "description": "Indicates whether to filter without a task.", "example": true } } }, "CompareBreakFilter": { "type": "object", "properties": { "filtrationType": { "type": "string", "enum": [ "EXACTLY", "LARGER_THAN", "SMALLER_THAN" ] }, "value": { "type": "string", "description": "Represents duration of breaks in the day in hours, multiplied by 100. For example, if desired value is 0.5h, input should be 50", "example": "50" } } }, "CompareCapacityFilter": { "type": "object", "properties": { "filtrationType": { "type": "string", "enum": [ "EXACTLY", "LARGER_THAN", "SMALLER_THAN" ] }, "value": { "type": "string", "description": "Represents daily work capacity of user in hours, multiplied by 100. For example, if desired value is 7.5h, input should be 750.", "example": "750" } } }, "CompareEndFilter": { "type": "object", "properties": { "filtrationType": { "type": "string", "enum": [ "EXACTLY", "LARGER_THAN", "SMALLER_THAN" ] }, "value": { "type": "string", "description": "Represents end time in 24-hour notation.", "example": "17:00" } } }, "CompareOvertimeFilter": { "type": "object", "properties": { "filtrationType": { "type": "string", "enum": [ "EXACTLY", "LARGER_THAN", "SMALLER_THAN" ] }, "value": { "type": "string", "description": "Represents duration of overtime work (difference between work and capacity) in hours, multiplied by 100. For example, if desired value is 1.5h, input should be 150.", "example": "150" } } }, "CompareStartFilter": { "type": "object", "properties": { "filtrationType": { "type": "string", "enum": [ "EXACTLY", "LARGER_THAN", "SMALLER_THAN" ] }, "value": { "type": "string", "description": "Represents start time in 24-hour notation.", "example": "15:00" } } }, "CompareWorkFilter": { "type": "object", "properties": { "filtrationType": { "type": "string", "enum": [ "EXACTLY", "LARGER_THAN", "SMALLER_THAN" ] }, "value": { "type": "string", "description": "Represents duration of completed work for day in hours, multiplied by 100. For example, if desired value is 7.5h, input should be 750.", "example": "750" } } }, "ContainsArchivedFilterV1": { "type": "object", "properties": { "contains": { "type": "string", "description": "Represents a contains type.", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN", "CONTAINS_ONLY" ], "example": "CONTAINS" }, "ids": { "type": "array", "description": "Filter includes provided list of ids.", "example": [ "5b715448b079875110792222", "5b715448b079875110791111" ], "items": { "type": "string", "description": "Filter includes provided list of ids.", "example": "[\"5b715448b079875110792222\",\"5b715448b079875110791111\"]" }, "uniqueItems": true }, "status": { "type": "string", "description": "Filter entities in 'contains' by their status.", "enum": [ "ACTIVE", "ARCHIVED", "ALL" ], "example": "ACTIVE" } } }, "ContainsTagFilterV1": { "type": "object", "description": "Represents an object for filtering entries by tags.", "properties": { "containedInTimeentry": { "type": "string", "description": "If provided, you'll get result filtered by value of contained in time entry.", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN", "CONTAINS_ONLY" ], "example": "CONTAINS_ONLY" }, "contains": { "type": "string", "description": "Represents a contains type.", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN", "CONTAINS_ONLY" ], "example": "CONTAINS" }, "ids": { "type": "array", "description": "Filter includes provided list of ids.", "example": [ "5b715448b079875110792222", "5b715448b079875110791111" ], "items": { "type": "string", "description": "Filter includes provided list of ids.", "example": "[\"5b715448b079875110792222\",\"5b715448b079875110791111\"]" }, "uniqueItems": true }, "status": { "type": "string", "description": "Filter entities in 'contains' by their status.", "enum": [ "ACTIVE", "ARCHIVED", "ALL" ], "example": "ACTIVE" } } }, "ContainsTaskFilterV1": { "type": "object", "description": "Represents filter criteria for expenses associated with tasks.", "properties": { "contains": { "type": "string", "description": "Represents a contains type.", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN", "CONTAINS_ONLY" ], "example": "CONTAINS" }, "ids": { "type": "array", "description": "Filter includes provided list of ids.", "example": [ "5b715448b079875110792222", "5b715448b079875110791111" ], "items": { "type": "string", "description": "Filter includes provided list of ids.", "example": "[\"5b715448b079875110792222\",\"5b715448b079875110791111\"]" }, "uniqueItems": true }, "status": { "type": "string", "description": "Filter entities in 'contains' by their status.", "enum": [ "ACTIVE", "ARCHIVED", "ALL" ], "example": "ACTIVE" } } }, "ContainsUsersFilterV1": { "type": "object", "properties": { "contains": { "type": "string", "description": "Represents a contains type.", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN", "CONTAINS_ONLY" ], "example": "CONTAINS" }, "ids": { "type": "array", "description": "Filter includes provided list of ids.", "example": [ "5b715448b079875110792222", "5b715448b079875110791111" ], "items": { "type": "string", "description": "Filter includes provided list of ids.", "example": "[\"5b715448b079875110792222\",\"5b715448b079875110791111\"]" }, "uniqueItems": true }, "status": { "type": "string", "description": "Filter entities in 'contains' by their status.", "enum": [ "ALL", "ACTIVE_WITH_PENDING", "ACTIVE", "PENDING", "INACTIVE" ], "example": "ACTIVE" } } }, "CustomFieldFilterV1": { "type": "object", "description": "Represents list of time entry custom field filter objects.", "properties": { "id": { "type": "string", "description": "Represents a custom field identifier across the system.", "example": "5b71544ab0798751107918b3" }, "isEmpty": { "type": "boolean", "description": "Indicates whether the custom field is empty.", "example": false }, "numberCondition": { "type": "string", "description": "Represents a custom field number condition.", "enum": [ "EQUAL", "GREATER_THAN", "LESS_THAN" ], "example": "EQUAL" }, "type": { "type": "string", "description": "Represents a type of custom field.", "enum": [ "TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK" ], "example": "NUMBER" }, "value": { "type": "object", "description": "Represents a custom field value.", "example": 2000 } } }, "DailyTotalDto": { "type": "object", "description": "Represents list of days", "properties": { "amount": { "type": "number" }, "date": { "type": "string" }, "duration": { "type": "number" } } }, "DetailedFilterV1": { "type": "object", "description": "Represents a detailed report filter.", "properties": { "auditFilter": { "$ref": "#/components/schemas/AuditFilterV1" }, "options": { "$ref": "#/components/schemas/DetailedOptionsV1" }, "page": { "type": "integer", "format": "int32", "example": 1 }, "pageSize": { "type": "integer", "format": "int32", "example": 20 }, "sortColumn": { "type": "string", "description": "If provided, you'll get sorted result by sort column.", "enum": [ "ID", "DESCRIPTION", "USER", "DURATION", "DATE", "ZONED_DATE", "NATURAL", "USER_DATE" ], "example": "ID" } } }, "DetailedOptionsV1": { "type": "object", "properties": { "totals": { "type": "string", "enum": [ "CALCULATE", "EXCLUDE" ], "example": "CALCULATE" } } }, "DetailedReportFilterV1": { "type": "object", "properties": { "amountShown": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided amount shown.", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "COST" }, "amounts": { "type": "array", "items": { "type": "string", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "[EARNED, COST]" } }, "approvalState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided approval state.", "enum": [ "APPROVED", "UNAPPROVED", "ALL" ], "example": "APPROVED" }, "archived": { "type": "boolean", "description": "Indicates whether the report is archived", "example": false }, "attendanceFilter": { "$ref": "#/components/schemas/AttendanceFilterV1" }, "billable": { "type": "boolean", "description": "Indicates whether the report is billable", "example": true }, "clients": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "currency": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "customFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" } }, "dateFormat": { "type": "string", "description": "Provide date in format YYYY-MM-DD", "example": "2018-11-01" }, "dateRangeEnd": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-30T23:59:59.999", "minLength": 1 }, "dateRangeStart": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-01T00:00:00", "minLength": 1 }, "dateRangeType": { "type": "string", "description": "Provide the date range type", "enum": [ "ABSOLUTE", "TODAY", "YESTERDAY", "THIS_WEEK", "LAST_WEEK", "PAST_TWO_WEEKS", "THIS_MONTH", "LAST_MONTH", "THIS_YEAR", "LAST_YEAR" ], "example": "LAST_MONTH" }, "description": { "type": "string", "description": "Represents search term for filtering report entries by description", "example": "some description keyword" }, "detailedFilter": { "$ref": "#/components/schemas/DetailedFilterV1" }, "exportType": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided export type.", "enum": [ "JSON", "JSON_V1", "PDF", "CSV", "XLSX", "ZIP" ], "example": "JSON" }, "invoicingState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided invoicing state.", "enum": [ "INVOICED", "UNINVOICED", "ALL" ], "example": "INVOICED" }, "projects": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "rounding": { "type": "boolean", "description": "Indicates whether the report filter is rounding", "example": false }, "sortOrder": { "type": "string", "description": "If provided, you'll get sorted result by provided sort order.", "enum": [ "ASCENDING", "DESCENDING" ], "example": "ASCENDING" }, "summaryFilter": { "$ref": "#/components/schemas/SummaryFilterV1" }, "tags": { "$ref": "#/components/schemas/ContainsTagFilterV1" }, "tasks": { "$ref": "#/components/schemas/ContainsTaskFilterV1" }, "timeFormat": { "type": "string", "description": "Provide time in format THH:MM:SS.ssssss", "example": "T00:00:00" }, "timeZone": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided time zone.", "example": "Europe/Belgrade" }, "userCustomFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" }, "writeOnly": true }, "userGroups": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "userLocale": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided user locale.", "example": "en" }, "users": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "weekStart": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided week start.", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "example": "MONDAY" }, "weeklyFilter": { "$ref": "#/components/schemas/WeeklyFilterV1" }, "withoutDescription": { "type": "boolean", "description": "If set to 'true', report will only include entries with empty description", "example": false }, "zoomLevel": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided zoom level.", "enum": [ "WEEK", "MONTH", "YEAR" ], "example": "WEEK" } }, "required": [ "dateRangeEnd", "dateRangeStart", "detailedFilter" ] }, "EntityName": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "ExpenseDetailedReportDtoV1": { "type": "object", "description": "report", "properties": { "expenses": { "type": "array", "description": "Represents list of expenses", "items": { "$ref": "#/components/schemas/ExpenseReportDtoV1" } }, "totals": { "$ref": "#/components/schemas/ExpenseTotalsDtoV1" } } }, "ExpenseReportDtoV1": { "type": "object", "description": "Represents list of expenses", "properties": { "amount": { "type": "number", "format": "double", "description": "Represents expenses amount." }, "approvalRequestId": { "type": "string", "description": "Represents approval request identifier across the system.", "example": "5b715612b079875110791336" }, "billable": { "type": "boolean", "description": "Indicates whether the expenses is billable." }, "categoryHasUnitPrice": { "type": "boolean", "description": "Indicates whether category has unit price." }, "categoryId": { "type": "string", "description": "Represents category identifier across the system.", "example": "5b715612b079875110791334" }, "categoryName": { "type": "string", "description": "Represents category's name." }, "categoryUnit": { "type": "string", "description": "Represents category's unit." }, "date": { "type": "string", "description": "Represents expenses date in YYYY-MM-DDTHH:MM:SS.ssssssZ format.", "example": "2021-10-27T00:00:00Z" }, "exportFields": { "type": "array", "description": "Represents export fields.", "items": { "type": "string", "description": "Represents export fields.", "enum": [ "PROJECT", "CLIENT", "TASK", "DESCRIPTION", "USER", "TAGS", "START_DATE", "START_TIME", "END_TIME", "DURATION", "BILLABLE_AMOUNT", "COST_AMOUNT", "PROFIT", "EMAIL", "BILLABLE", "BILLABLE_H", "NON_BILLABLE_H", "END_DATE", "DECIMAL_DURATION", "BILLABLE_RATE", "COST_RATE", "APPROVAL", "BAR_CHART", "PIE_CHART_1", "PIE_CHART_2", "PIE_CHART_3", "RTL", "TOTAL", "SUBGROUP", "GROUP", "DATE", "TIME", "CATEGORY", "NOTE", "AMOUNT", "INVOICED", "INVOICE_ID", "CATEGORY_NO_OF_UNITS", "CATEGORY_UNIT", "KIOSK", "KIOSK_QR_CODE", "TYPE", "BREAK", "NOTES", "BILLABLE_TOTAL", "RECEIPTS", "EXPENSE_TOTAL", "DATE_OF_CREATION", "DATE_OF_APPROVAL", "NAME", "ROLE", "PROJECTS", "STATUS", "WEEK_START", "WORKING_DAYS", "TEAM_MANAGERS", "TEAM_MEMBERS", "DAILY_WORK_CAPACITY", "VISIBILITY", "BILLABILITY", "TASKS", "TRACKED_H", "ESTIMATED_H", "REMAINING_H", "OVERAGE_H", "TRACKED_BUDGET", "ESTIMATED_BUDGET", "REMAINING_BUDGET", "OVERAGE_BUDGET", "PROGRESS", "RECURRING_ESTIMATE", "EXPENSES", "BILLABLE_EXPENSES", "NON_BILLABLE_EXPENSES", "ADDITIONAL_FIELDS", "PROJECT_MEMBERS", "PROJECT_MANAGER", "APPROVED_BY", "ISSUE_DATE", "DUE_ON", "BALANCE" ] } }, "fileId": { "type": "string", "description": "Represents file identifier across the system.", "example": "5b715612b079875110791335" }, "fileName": { "type": "string", "description": "Represents expenses file name." }, "id": { "type": "string", "description": "Represents expenses identifier across the system.", "example": "5b715612b079875110791122" }, "invoicingInfo": { "$ref": "#/components/schemas/invoicingInfo" }, "locked": { "type": "boolean", "description": "Indicates whether the expenses is locked." }, "notes": { "type": "string", "description": "Represents expenses note.", "example": "Expenses Note" }, "projectColor": { "type": "string", "description": "Represents project's color" }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "5b715612b079875110791333" }, "projectName": { "type": "string", "description": "Represents project's name." }, "quantity": { "type": "number", "format": "double", "description": "Represents expenses quantity", "example": 10 }, "reportName": { "type": "string", "description": "Represents expense name." }, "time": { "type": "string", "description": "Represents expense time." }, "userEmail": { "type": "string", "description": "Represents user's email." }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5b715612b079875110791121" }, "userName": { "type": "string", "description": "Represents user's name." }, "userStatus": { "type": "string", "description": "Represents user's status." }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5b715612b079875110791121" } } }, "ExpenseReportFilterV1": { "type": "object", "properties": { "approvalState": { "type": "string", "description": "Represents an approval state", "enum": [ "APPROVED", "UNAPPROVED", "ALL" ], "example": "APPROVED" }, "billable": { "type": "boolean", "description": "Indicates whether report is billable", "example": true }, "categories": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "clients": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "currency": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "dateRangeEnd": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2021-10-27T23:59:59.999", "minLength": 1 }, "dateRangeStart": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2021-10-27T00:00:00", "minLength": 1 }, "dateRangeType": { "type": "string", "description": "Represents date range type of expense report", "enum": [ "ABSOLUTE", "TODAY", "YESTERDAY", "THIS_WEEK", "LAST_WEEK", "PAST_TWO_WEEKS", "THIS_MONTH", "LAST_MONTH", "THIS_YEAR", "LAST_YEAR" ], "example": "TODAY" }, "exportType": { "type": "string", "description": "Represents an export type", "enum": [ "JSON", "JSON_V1", "PDF", "CSV", "XLSX", "ZIP" ], "example": "JSON" }, "invoicingState": { "type": "string", "description": "Represents an invoicing state", "enum": [ "INVOICED", "UNINVOICED", "ALL" ], "example": "INVOICED" }, "note": { "type": "string", "description": "Represents a search term for filtering report entries by note", "example": "some note keyword" }, "page": { "type": "integer", "format": "int32", "description": "Page number.", "example": 1, "minimum": 1 }, "pageSize": { "type": "integer", "format": "int32", "description": "Page size.", "example": 50, "minimum": 1 }, "projects": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "sortColumn": { "type": "string", "description": "Represents expenses sort column", "enum": [ "ID", "PROJECT", "USER", "CATEGORY", "DATE", "AMOUNT" ], "example": "ID" }, "sortOrder": { "type": "string", "description": "Represents a sort order", "enum": [ "ASCENDING", "DESCENDING" ], "example": "ASCENDING" }, "tasks": { "$ref": "#/components/schemas/ContainsTaskFilterV1" }, "timeZone": { "type": "string", "description": "Represents a time zone", "example": "Europe/Budapest" }, "userGroups": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "userLocale": { "type": "string", "description": "Represents a user locale", "example": "en" }, "users": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "weekStart": { "type": "string", "description": "Represents week start", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "example": "MONDAY" }, "withoutNote": { "type": "boolean", "description": "If set to 'true', report will only include entries with empty note", "example": false }, "zoomLevel": { "type": "string", "description": "Represents a zoom level", "enum": [ "WEEK", "MONTH", "YEAR" ], "example": "WEEK" } }, "required": [ "dateRangeEnd", "dateRangeStart" ] }, "ExpenseTotalsDtoV1": { "type": "object", "description": "Represents expense totals", "properties": { "expensesCount": { "type": "integer", "format": "int32", "description": "Represents expenses count", "example": 2 }, "totalAmount": { "type": "number", "format": "double", "description": "Represents total amount of expenses", "example": 20 }, "totalAmountBillable": { "type": "number", "format": "double", "description": "Represents total billable amount of expenses", "example": 20 } } }, "GroupOneDto": { "type": "object", "description": "List of groups", "properties": { "amount": { "type": "number", "description": "Represents group one amount", "example": 100 }, "children": { "type": "array", "description": "Represents list of children groups", "items": { "$ref": "#/components/schemas/GroupOneDto" } }, "clientName": { "type": "string", "description": "Represents client name", "example": "Cake.com" }, "days": { "type": "array", "description": "Represents list of days", "items": { "$ref": "#/components/schemas/DailyTotalDto" } }, "duration": { "type": "number", "description": "Represents duration", "example": 10 }, "id": { "type": "string", "description": "Represents group one identifier across the system.", "example": "5b715612b079875110791111" }, "name": { "type": "string", "description": "Represents name", "example": "Name" }, "nameLowerCase": { "type": "string", "description": "Represents lower case name", "example": "name" } } }, "ReportFilterV1": { "type": "object", "properties": { "amountShown": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided amount shown.", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "COST" }, "amounts": { "type": "array", "items": { "type": "string", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "[EARNED, COST]" } }, "approvalState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided approval state.", "enum": [ "APPROVED", "UNAPPROVED", "ALL" ], "example": "APPROVED" }, "archived": { "type": "boolean", "description": "Indicates whether the report is archived", "example": false }, "attendanceFilter": { "$ref": "#/components/schemas/AttendanceFilterV1" }, "billable": { "type": "boolean", "description": "Indicates whether the report is billable", "example": true }, "clients": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "currency": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "customFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" } }, "dateFormat": { "type": "string", "description": "Provide date in format YYYY-MM-DD", "example": "2018-11-01" }, "dateRangeEnd": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-30T23:59:59.999", "minLength": 1 }, "dateRangeStart": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-01T00:00:00", "minLength": 1 }, "dateRangeType": { "type": "string", "description": "Provide the date range type", "enum": [ "ABSOLUTE", "TODAY", "YESTERDAY", "THIS_WEEK", "LAST_WEEK", "PAST_TWO_WEEKS", "THIS_MONTH", "LAST_MONTH", "THIS_YEAR", "LAST_YEAR" ], "example": "LAST_MONTH" }, "description": { "type": "string", "description": "Represents search term for filtering report entries by description", "example": "some description keyword" }, "detailedFilter": { "$ref": "#/components/schemas/DetailedFilterV1" }, "exportType": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided export type.", "enum": [ "JSON", "JSON_V1", "PDF", "CSV", "XLSX", "ZIP" ], "example": "JSON" }, "invoicingState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided invoicing state.", "enum": [ "INVOICED", "UNINVOICED", "ALL" ], "example": "INVOICED" }, "projects": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "rounding": { "type": "boolean", "description": "Indicates whether the report filter is rounding", "example": false }, "sortOrder": { "type": "string", "description": "If provided, you'll get sorted result by provided sort order.", "enum": [ "ASCENDING", "DESCENDING" ], "example": "ASCENDING" }, "summaryFilter": { "$ref": "#/components/schemas/SummaryFilterV1" }, "tags": { "$ref": "#/components/schemas/ContainsTagFilterV1" }, "tasks": { "$ref": "#/components/schemas/ContainsTaskFilterV1" }, "timeFormat": { "type": "string", "description": "Provide time in format THH:MM:SS.ssssss", "example": "T00:00:00" }, "timeZone": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided time zone.", "example": "Europe/Belgrade" }, "userCustomFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" }, "writeOnly": true }, "userGroups": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "userLocale": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided user locale.", "example": "en" }, "users": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "weekStart": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided week start.", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "example": "MONDAY" }, "weeklyFilter": { "$ref": "#/components/schemas/WeeklyFilterV1" }, "withoutDescription": { "type": "boolean", "description": "If set to 'true', report will only include entries with empty description", "example": false }, "zoomLevel": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided zoom level.", "enum": [ "WEEK", "MONTH", "YEAR" ], "example": "WEEK" } }, "required": [ "dateRangeEnd", "dateRangeStart" ] }, "ReportTagDto": { "type": "object", "description": "List of tags", "properties": { "id": { "type": "string", "description": "Represents tag identifier across the system.", "example": "5b715612b079875110791136" }, "name": { "type": "string", "description": "Represents tag name.", "example": "tagname" } } }, "ReportTimeIntervalDto": { "type": "object", "description": "Represents time interval", "properties": { "duration": { "type": "integer", "format": "int32", "description": "Represents the duration of interval." }, "end": { "type": "string", "description": "Represents the end datetime. Date is in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "example": "2022-08-27T08:32:01.640708Z" }, "start": { "type": "string", "description": "Represents the start datetime. Date is in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "example": "2022-08-26T08:32:01.640708Z" } } }, "SharedReportDtoV1": { "type": "object", "description": "Represents the array of reports.", "properties": { "fixedDate": { "type": "boolean", "description": "Indicates whether the shared report has a fixed date range" }, "id": { "type": "string", "description": "Represents a shared report identifier across the system.", "example": "60f91b3ffdaf031696ecxx11" }, "isPublic": { "type": "boolean" }, "link": { "type": "string", "format": "uri", "description": "Represents URI link of shared report." }, "name": { "type": "string", "description": "Represents shared report's name.", "example": "Weekly 1" }, "reportAuthor": { "type": "string", "description": "Represents report author (user) identifier across the system.", "example": "60f91b3ffdaf031696ecxxxx" }, "type": { "type": "string", "description": "Represents shared report type", "enum": [ "DETAILED", "WEEKLY", "SUMMARY", "SCHEDULED", "EXPENSE_DETAILED", "EXPENSE_RECEIPT", "PTO_REQUESTS", "PTO_BALANCE", "ATTENDANCE", "INVOICE_EXPENSE", "INVOICE_TIME", "PROJECT", "TEAM_FULL", "TEAM_LIMITED", "TEAM_GROUPS", "INVOICES", "KIOSK_PIN_LIST", "KIOSK_ASSIGNEES", "USER_DATA_EXPORT" ], "example": "WEEKLY" }, "visibleToUserGroups": { "type": "array", "items": { "$ref": "#/components/schemas/EntityName" } }, "visibleToUsers": { "type": "array", "description": "Represents ids of user to whom are visible shared report.", "example": "[userId1, userId2, userId3]", "items": { "$ref": "#/components/schemas/EntityName" } } } }, "SharedReportRequestV1": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/ReportFilterV1" }, "fixedDate": { "type": "boolean", "description": "Indicates whether the shared report has a fixed date range." }, "isPublic": { "type": "boolean", "description": "Indicates whether the shared report is public or not", "example": false }, "name": { "type": "string", "description": "Represents a shared report's name", "example": "Weekly 1" }, "type": { "type": "string", "description": "Represent the type of shared report.", "enum": [ "DETAILED", "WEEKLY", "SUMMARY", "SCHEDULED", "EXPENSE_DETAILED", "EXPENSE_RECEIPT", "PTO_REQUESTS", "PTO_BALANCE", "ATTENDANCE", "INVOICE_EXPENSE", "INVOICE_TIME", "PROJECT", "TEAM_FULL", "TEAM_LIMITED", "TEAM_GROUPS", "INVOICES", "KIOSK_PIN_LIST", "KIOSK_ASSIGNEES", "USER_DATA_EXPORT" ], "example": "WEEKLY" }, "visibleToUserGroups": { "type": "array", "description": "Represents user group ids.", "example": "\"[5b715448b079875110792222\", \"5b715448b079875110791111\"]", "items": { "type": "string", "description": "Represents user group ids.", "example": "\"[5b715448b079875110792222\", \"5b715448b079875110791111\"]" }, "uniqueItems": true }, "visibleToUsers": { "type": "array", "description": "Represents user ids.", "example": [ "5b715448b079875110791234", "5b715448b079875110791432", "5b715448b079875110791324" ], "items": { "type": "string", "description": "Represents user ids.", "example": "[\"5b715448b079875110791234\",\"5b715448b079875110791432\",\"5b715448b079875110791324\"]" }, "uniqueItems": true } } }, "SharedReportV1": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/ReportFilterV1" }, "fixedDate": { "type": "boolean", "description": "Indicates whether the shared report has a fixed date range" }, "id": { "type": "string", "description": "Represents a shared report identifier across the system.", "example": "5b715612b079875110791111" }, "isPublic": { "type": "boolean", "description": "Indicates whether the shared report is public or not", "example": false }, "name": { "type": "string", "description": "Represents shared report name", "example": "Weekly 1" }, "type": { "type": "string", "enum": [ "DETAILED", "WEEKLY", "SUMMARY", "SCHEDULED", "EXPENSE_DETAILED", "EXPENSE_RECEIPT", "PTO_REQUESTS", "PTO_BALANCE", "ATTENDANCE", "INVOICE_EXPENSE", "INVOICE_TIME", "PROJECT", "TEAM_FULL", "TEAM_LIMITED", "TEAM_GROUPS", "INVOICES", "KIOSK_PIN_LIST", "KIOSK_ASSIGNEES", "USER_DATA_EXPORT" ], "example": "WEEKLY" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5b715612b079875110791113" }, "visibleToUserGroups": { "type": "array", "description": "Indicates to which user groups are visible shared report", "example": [ "5b715612b079875110791342", "5b715612b079875110791324", "5b715612b079875110793142" ], "items": { "type": "string", "description": "Indicates to which user groups are visible shared report", "example": "[\"5b715612b079875110791342\",\"5b715612b079875110791324\",\"5b715612b079875110793142\"]" }, "uniqueItems": true }, "visibleToUsers": { "type": "array", "description": "Indicates to whom users are visible shared report", "example": [ "5b715612b079875110791432", "5b715612b079875110791234" ], "items": { "type": "string", "description": "Indicates to whom users are visible shared report", "example": "[\"5b715612b079875110791432\",\"5b715612b079875110791234\"]" }, "uniqueItems": true }, "workspaceId": { "type": "string", "description": "Represents workspace identifier across the system.", "example": "5b715612b079875110791112" } } }, "SharedReportsAndCountDtoV1": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32", "description": "Represents the count of reports.", "example": 2 }, "reports": { "type": "array", "items": { "$ref": "#/components/schemas/SharedReportDtoV1" } } } }, "SummaryFilterV1": { "type": "object", "description": "Represents a summary report filter.", "properties": { "groups": { "type": "array", "description": "Represents group ids", "example": "\"[5b715448b07987511071111\", \"5b715448b079875110792222\"]", "items": { "type": "string", "description": "Represents group ids", "example": "\"[5b715448b07987511071111\", \"5b715448b079875110792222\"]" } }, "sortColumn": { "type": "string", "description": "If provided, you'll get sorted result by provided sort column.", "enum": [ "GROUP", "DURATION", "AMOUNT", "EARNED", "COST", "PROFIT" ], "example": "GROUP" }, "summaryChartType": { "type": "string", "description": "If provided, you'll get sorted result by provided summary chart type.", "enum": [ "BILLABILITY", "PROJECT" ], "example": "PROJECT" } } }, "SummaryReportChartDto": { "type": "object", "description": "List of summary report charts", "properties": { "earned": { "type": "number", "description": "Represents how much is earned", "example": 1000 }, "id": { "type": "string", "description": "Represents summary report identifier across the system.", "example": "5b715612b079875110791111" }, "totalAmount": { "type": "number", "description": "Represents total amount", "example": 11000 }, "totalBillableTime": { "type": "number", "description": "Represents total billable time", "example": 19000 }, "totalTime": { "type": "number", "description": "Represents total time", "example": 20000 } } }, "SummaryReportFilterV1": { "type": "object", "properties": { "amountShown": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided amount shown.", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "COST" }, "amounts": { "type": "array", "items": { "type": "string", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "[EARNED, COST]" } }, "approvalState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided approval state.", "enum": [ "APPROVED", "UNAPPROVED", "ALL" ], "example": "APPROVED" }, "archived": { "type": "boolean", "description": "Indicates whether the report is archived", "example": false }, "attendanceFilter": { "$ref": "#/components/schemas/AttendanceFilterV1" }, "billable": { "type": "boolean", "description": "Indicates whether the report is billable", "example": true }, "clients": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "currency": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "customFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" } }, "dateFormat": { "type": "string", "description": "Provide date in format YYYY-MM-DD", "example": "2018-11-01" }, "dateRangeEnd": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-30T23:59:59.999", "minLength": 1 }, "dateRangeStart": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-01T00:00:00", "minLength": 1 }, "dateRangeType": { "type": "string", "description": "Provide the date range type", "enum": [ "ABSOLUTE", "TODAY", "YESTERDAY", "THIS_WEEK", "LAST_WEEK", "PAST_TWO_WEEKS", "THIS_MONTH", "LAST_MONTH", "THIS_YEAR", "LAST_YEAR" ], "example": "LAST_MONTH" }, "description": { "type": "string", "description": "Represents search term for filtering report entries by description", "example": "some description keyword" }, "detailedFilter": { "$ref": "#/components/schemas/DetailedFilterV1" }, "exportType": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided export type.", "enum": [ "JSON", "JSON_V1", "PDF", "CSV", "XLSX", "ZIP" ], "example": "JSON" }, "invoicingState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided invoicing state.", "enum": [ "INVOICED", "UNINVOICED", "ALL" ], "example": "INVOICED" }, "projects": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "rounding": { "type": "boolean", "description": "Indicates whether the report filter is rounding", "example": false }, "sortOrder": { "type": "string", "description": "If provided, you'll get sorted result by provided sort order.", "enum": [ "ASCENDING", "DESCENDING" ], "example": "ASCENDING" }, "summaryFilter": { "$ref": "#/components/schemas/SummaryFilterV1" }, "tags": { "$ref": "#/components/schemas/ContainsTagFilterV1" }, "tasks": { "$ref": "#/components/schemas/ContainsTaskFilterV1" }, "timeFormat": { "type": "string", "description": "Provide time in format THH:MM:SS.ssssss", "example": "T00:00:00" }, "timeZone": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided time zone.", "example": "Europe/Belgrade" }, "userCustomFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" }, "writeOnly": true }, "userGroups": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "userLocale": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided user locale.", "example": "en" }, "users": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "weekStart": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided week start.", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "example": "MONDAY" }, "weeklyFilter": { "$ref": "#/components/schemas/WeeklyFilterV1" }, "withoutDescription": { "type": "boolean", "description": "If set to 'true', report will only include entries with empty description", "example": false }, "zoomLevel": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided zoom level.", "enum": [ "WEEK", "MONTH", "YEAR" ], "example": "WEEK" } }, "required": [ "dateRangeEnd", "dateRangeStart", "summaryFilter" ] }, "TimeEntryDetailedReportDto": { "type": "object", "description": "report", "properties": { "timeEntries": { "type": "array", "description": "List of entries", "items": { "$ref": "#/components/schemas/TimeEntryDto" } }, "totals": { "type": "array", "description": "List of totals", "items": { "$ref": "#/components/schemas/TimeEntryReportTotals" } } } }, "TimeEntryDto": { "type": "object", "description": "time entry", "properties": { "approvalRequestId": { "type": "string", "description": "Represents approval request identifier across the system.", "example": "5b715612b079875110791222" }, "billable": { "type": "boolean", "description": "Indicates whether the time entry is billable", "example": true }, "clientId": { "type": "string", "description": "Represents client identifier across the system.", "example": "5b715612b079875110791112" }, "clientName": { "type": "string", "description": "Represents client name", "example": "Cake.com" }, "description": { "type": "string", "description": "Represents time entry description", "example": "Time Entry Description" }, "get_id": { "type": "string", "description": "Represents time entry identifier across the system.", "example": "5b715612b079875110791111" }, "locked": { "type": "boolean" }, "projectColor": { "type": "string", "description": "Represents project color" }, "projectId": { "type": "string", "description": "Represents project identifier across the system.", "example": "5b715612b079875110791133" }, "projectName": { "type": "string", "description": "Represents project name.", "example": "Clockify" }, "tags": { "type": "array", "description": "List of tags", "items": { "$ref": "#/components/schemas/ReportTagDto" } }, "taskId": { "type": "string", "description": "Represents task identifier across the system.", "example": "5b715612b079875110791134" }, "taskName": { "type": "string", "description": "Represents task name.", "example": "Task name" }, "timeInterval": { "$ref": "#/components/schemas/ReportTimeIntervalDto" }, "userEmail": { "type": "string", "description": "Represents user email.", "example": "user@cake.com" }, "userId": { "type": "string", "description": "Represents user identifier across the system.", "example": "5b715612b079875110791135" }, "userName": { "type": "string", "description": "Represents user's name", "example": "john" } } }, "TimeEntryReportTotals": { "type": "object", "description": "List of totals", "properties": { "amounts": { "type": "array", "description": "List of amounts", "items": { "$ref": "#/components/schemas/AmountDto" } }, "entriesCount": { "type": "integer", "format": "int32", "description": "Represents entries count", "example": 1 }, "id": { "type": "string", "description": "Represents time entry report identifier across the system.", "example": "5b715612b079875110791122" }, "totalBillableTime": { "type": "number", "description": "Represents total billable time", "example": 1000 }, "totalTime": { "type": "number", "description": "Represents total time", "example": 1200 } } }, "TimeEntrySummaryReportDto": { "type": "object", "description": "report", "properties": { "chart": { "type": "array", "description": "List of summary report charts", "items": { "$ref": "#/components/schemas/SummaryReportChartDto" } }, "groupOne": { "type": "array", "description": "List of groups", "items": { "$ref": "#/components/schemas/GroupOneDto" } }, "totals": { "type": "array", "description": "List of totals", "items": { "$ref": "#/components/schemas/TimeEntryReportTotals" } } } }, "TimeEntryWeeklyReportDto": { "type": "object", "description": "report", "properties": { "decimalFormat": { "type": "boolean", "description": "Indicates whether time entry report is in decimal format.", "example": false }, "groupOne": { "type": "array", "description": "List of groups", "items": { "$ref": "#/components/schemas/GroupOneDto" } }, "includeUsersWithoutTime": { "type": "boolean", "description": "Indicates whether time entry report includes users without time.", "example": false }, "totals": { "type": "array", "description": "List of totals", "items": { "$ref": "#/components/schemas/TimeEntryReportTotals" } }, "totalsByDay": { "type": "array", "items": { "$ref": "#/components/schemas/DailyTotalDto" } }, "trackTimeDownToSeconds": { "type": "boolean" }, "usersWithoutTime": { "type": "array", "items": { "$ref": "#/components/schemas/UserDto" } } } }, "UpdateSharedReportRequestV1": { "type": "object", "properties": { "fixedDate": { "type": "boolean", "description": "Indicates whether the shared report has a fixed date range.", "example": false }, "isPublic": { "type": "boolean", "description": "Indicates whether the shared report is public.", "example": false }, "name": { "type": "string", "description": "Represents a shared reports name.", "example": "Weekly Updated Report" }, "visibleToUserGroups": { "type": "array", "description": "Provide user groups ids to which the shared report is visible.", "example": "\"[5b715448b079875110792222\", \"5b715448b079875110791111\"]", "items": { "type": "string", "description": "Provide user groups ids to which the shared report is visible.", "example": "\"[5b715448b079875110792222\", \"5b715448b079875110791111\"]" }, "uniqueItems": true }, "visibleToUsers": { "type": "array", "description": "Provide user ids to which the shared report is visible.", "example": [ "5b715448b079875110791234", "5b715448b079875110791432", "5b715448b079875110791324" ], "items": { "type": "string", "description": "Provide user ids to which the shared report is visible.", "example": "[\"5b715448b079875110791234\",\"5b715448b079875110791432\",\"5b715448b079875110791324\"]" }, "uniqueItems": true } }, "required": [ "name" ] }, "UserDto": { "type": "object", "properties": { "dateFormat": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "timeFormat": { "type": "string" }, "timeZone": { "type": "string" }, "weekStart": { "type": "string" } } }, "WeeklyFilterV1": { "type": "object", "description": "Represents a weekly report filter.", "properties": { "group": { "type": "string", "description": "Weekly filter will include group identifier.", "example": "5b715448b079875110791111" }, "subgroup": { "type": "string", "description": "Weekly filter will include subgroup identifier.", "example": "5b715448b079875110792222" } } }, "WeeklyReportFilterV1": { "type": "object", "properties": { "amountShown": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided amount shown.", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "COST" }, "amounts": { "type": "array", "items": { "type": "string", "enum": [ "EARNED", "COST", "PROFIT", "HIDE_AMOUNT", "EXPORT" ], "example": "[EARNED, COST]" } }, "approvalState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided approval state.", "enum": [ "APPROVED", "UNAPPROVED", "ALL" ], "example": "APPROVED" }, "archived": { "type": "boolean", "description": "Indicates whether the report is archived", "example": false }, "attendanceFilter": { "$ref": "#/components/schemas/AttendanceFilterV1" }, "billable": { "type": "boolean", "description": "Indicates whether the report is billable", "example": true }, "clients": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "currency": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "customFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" } }, "dateFormat": { "type": "string", "description": "Provide date in format YYYY-MM-DD", "example": "2018-11-01" }, "dateRangeEnd": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-30T23:59:59.999", "minLength": 1 }, "dateRangeStart": { "type": "string", "description": "Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)", "example": "2018-11-01T00:00:00", "minLength": 1 }, "dateRangeType": { "type": "string", "description": "Provide the date range type", "enum": [ "ABSOLUTE", "TODAY", "YESTERDAY", "THIS_WEEK", "LAST_WEEK", "PAST_TWO_WEEKS", "THIS_MONTH", "LAST_MONTH", "THIS_YEAR", "LAST_YEAR" ], "example": "LAST_MONTH" }, "description": { "type": "string", "description": "Represents search term for filtering report entries by description", "example": "some description keyword" }, "detailedFilter": { "$ref": "#/components/schemas/DetailedFilterV1" }, "exportType": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided export type.", "enum": [ "JSON", "JSON_V1", "PDF", "CSV", "XLSX", "ZIP" ], "example": "JSON" }, "invoicingState": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided invoicing state.", "enum": [ "INVOICED", "UNINVOICED", "ALL" ], "example": "INVOICED" }, "projects": { "$ref": "#/components/schemas/ContainsArchivedFilterV1" }, "rounding": { "type": "boolean", "description": "Indicates whether the report filter is rounding", "example": false }, "sortOrder": { "type": "string", "description": "If provided, you'll get sorted result by provided sort order.", "enum": [ "ASCENDING", "DESCENDING" ], "example": "ASCENDING" }, "summaryFilter": { "$ref": "#/components/schemas/SummaryFilterV1" }, "tags": { "$ref": "#/components/schemas/ContainsTagFilterV1" }, "tasks": { "$ref": "#/components/schemas/ContainsTaskFilterV1" }, "timeFormat": { "type": "string", "description": "Provide time in format THH:MM:SS.ssssss", "example": "T00:00:00" }, "timeZone": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided time zone.", "example": "Europe/Belgrade" }, "userCustomFields": { "type": "array", "items": { "$ref": "#/components/schemas/CustomFieldFilterV1" }, "writeOnly": true }, "userGroups": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "userLocale": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided user locale.", "example": "en" }, "users": { "$ref": "#/components/schemas/ContainsUsersFilterV1" }, "weekStart": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided week start.", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "example": "MONDAY" }, "weeklyFilter": { "$ref": "#/components/schemas/WeeklyFilterV1" }, "withoutDescription": { "type": "boolean", "description": "If set to 'true', report will only include entries with empty description", "example": false }, "zoomLevel": { "type": "string", "description": "If provided, you'll get filtered result including reports with provided zoom level.", "enum": [ "WEEK", "MONTH", "YEAR" ], "example": "WEEK" } }, "required": [ "dateRangeEnd", "dateRangeStart", "weeklyFilter" ] }, "invoicingInfo": { "type": "object", "description": "Expense's invoicing info.", "properties": { "invoiceId": { "type": "string" }, "manuallyInvoiced": { "type": "boolean" } } }, "AuditLogDtoV1": { "type": "object", "properties": { "action": { "type": "string", "description": "Represents an audit log action type.", "example": "CREATE_PROJECT", "enum": [ "CREATE_TIME_PERSONAL_TIMER", "CREATE_TIME_PERSONAL_MANUAL", "CREATE_TIME_IMPORT", "CREATE_TIME_KIOSK", "CREATE_TIME_FOR_OTHER", "RESTORE_TIME", "RESTORE_TIME_FOR_OTHER", "UPDATE_TIME_PERSONAL", "UPDATE_TIME_FOR_OTHER", "DELETE_TIME_PERSONAL", "DELETE_TIME_FOR_OTHER", "CREATE_PROJECT", "CREATE_PROJECT_IMPORT", "CREATE_PROJECT_QUICKBOOKS", "UPDATE_PROJECT", "DELETE_PROJECT", "CREATE_TASK", "CREATE_TASK_IMPORT", "UPDATE_TASK", "DELETE_TASK", "CREATE_CLIENT", "CREATE_CLIENT_IMPORT", "CREATE_CLIENT_QUICKBOOKS", "UPDATE_CLIENT", "DELETE_CLIENT", "CREATE_TAG", "CREATE_TAG_IMPORT", "UPDATE_TAG", "DELETE_TAG", "CREATE_EXPENSE", "CREATE_EXPENSE_FOR_OTHER", "RESTORE_EXPENSE", "RESTORE_EXPENSE_FOR_OTHER", "UPDATE_EXPENSE", "UPDATE_EXPENSE_FOR_OTHER", "DELETE_EXPENSE", "DELETE_EXPENSE_FOR_OTHER" ] }, "content": { "type": "string", "description": "Represents the current value of the modified entity", "example": "{\"projectName\":\"New Project\",\"client\":\"\",\"archived\":false,\"visibility\":true,\"members\":[\"John Doe\"],\"billableByDefault\":true,\"note\":\"\",\"billableRate\":0,\"costRate\":null,\"currency\":\"USD\",\"activeEstimate\":\"NONE\",\"estimateType\":null,\"estimate\":null,\"recurringEstimate\":false,\"interval\":null,\"month\":null,\"dayOfWeek\":null,\"dayOfMonth\":null,\"hour\":null}" }, "previousContent": { "type": "string", "description": "Represents the previous value of the modified entity.", "example": "null" }, "timestamp": { "type": "string", "description": "Represents a timestamp of when the audit log entry was created.", "example": "2025-05-01T11:15:00Z" }, "userEmail": { "type": "string", "description": "Represents the email address of the user.", "example": "johndoe@example.com" }, "userId": { "type": "string", "description": "Represents a user identifier across the system.", "example": "45b687e29ae1f428e7ebe123" }, "userName": { "type": "string", "description": "Represents the name of the user.", "example": "John Doe" }, "workspaceId": { "type": "string", "description": "Represents a workspace identifier across the system.", "example": "64a687e29ae1f428e7ebe303" } } }, "AuditLogGetRequestV1": { "required": [ "actions", "authors", "end", "start" ], "type": "object", "properties": { "actions": { "minItems": 1, "uniqueItems": true, "type": "array", "description": "Represents a set of audit log actions.", "example": [ "CREATE_TIME_PERSONAL_MANUAL", "CREATE_TIME_PERSONAL_TIMER", "CREATE_PROJECT" ], "items": { "type": "string", "description": "Represents a set of audit log actions.", "example": "[\"CREATE_TIME_PERSONAL_MANUAL\",\"CREATE_TIME_PERSONAL_TIMER\",\"CREATE_PROJECT\"]", "enum": [ "CREATE_TIME_PERSONAL_TIMER", "CREATE_TIME_PERSONAL_MANUAL", "CREATE_TIME_IMPORT", "CREATE_TIME_KIOSK", "CREATE_TIME_FOR_OTHER", "RESTORE_TIME", "RESTORE_TIME_FOR_OTHER", "UPDATE_TIME_PERSONAL", "UPDATE_TIME_FOR_OTHER", "DELETE_TIME_PERSONAL", "DELETE_TIME_FOR_OTHER", "CREATE_PROJECT", "CREATE_PROJECT_IMPORT", "CREATE_PROJECT_QUICKBOOKS", "UPDATE_PROJECT", "DELETE_PROJECT", "CREATE_TASK", "CREATE_TASK_IMPORT", "UPDATE_TASK", "DELETE_TASK", "CREATE_CLIENT", "CREATE_CLIENT_IMPORT", "CREATE_CLIENT_QUICKBOOKS", "UPDATE_CLIENT", "DELETE_CLIENT", "CREATE_TAG", "CREATE_TAG_IMPORT", "UPDATE_TAG", "DELETE_TAG", "CREATE_EXPENSE", "CREATE_EXPENSE_FOR_OTHER", "RESTORE_EXPENSE", "RESTORE_EXPENSE_FOR_OTHER", "UPDATE_EXPENSE", "UPDATE_EXPENSE_FOR_OTHER", "DELETE_EXPENSE", "DELETE_EXPENSE_FOR_OTHER" ] } }, "authors": { "$ref": "#/components/schemas/authors" }, "end": { "type": "string", "description": "Represents an end date in the yyyy-MM-ddThh:mm:ssZ format.", "example": "2025-05-01T23:59:59Z" }, "page": { "minimum": 0, "type": "integer", "description": "Page number.", "format": "int32", "example": 1, "default": 1 }, "page-size": { "maximum": 50, "minimum": 1, "type": "integer", "description": "Page size.", "format": "int32", "example": 20, "default": 20 }, "start": { "type": "string", "description": "Represents a start date in the yyyy-MM-ddThh:mm:ssZ format.", "example": "2025-05-01T00:00:00Z" } } }, "PageableV1ListAuditLogDtoV1": { "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/components/schemas/AuditLogDtoV1" } } } }, "authors": { "required": [ "authorIds", "contains" ], "type": "object", "properties": { "authorIds": { "uniqueItems": true, "type": "array", "description": "Represents a set of author user ids. Include \"SYSTEM\" in this set to retrieve system related audit logs.", "example": [ "45b687e29ae1f428e7ebe123", "67s687e29ae1f428e7ebe678", "SYSTEM" ], "items": { "type": "string", "description": "Represents a set of author user ids. Include \"SYSTEM\" in this set to retrieve system related audit logs.", "example": "[\"45b687e29ae1f428e7ebe123\",\"67s687e29ae1f428e7ebe678\",\"SYSTEM\"]" } }, "contains": { "minLength": 1, "type": "string", "example": "CONTAINS", "enum": [ "CONTAINS", "DOES_NOT_CONTAIN" ] } }, "description": "Represents the audit log author filter." } }, "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" ] } ] }