awork-mcp
v0.0.1
Published
The official MCP Server for the Awork API
Readme
Awork TypeScript MCP Server
It is generated with Stainless.
Installation
Direct invocation
You can run the MCP Server directly via npx:
export AWORK_API_KEY="My API Key"
npx -y awork-mcp@latestVia MCP Client
There is a partial list of existing clients at modelcontextprotocol.io. If you already have a client, consult their documentation to install the MCP server.
For clients with a configuration JSON, it might look something like this:
{
"mcpServers": {
"brandboostinggmbh_awork_typescript_api": {
"command": "npx",
"args": ["-y", "awork-mcp", "--client=claude", "--tools=dynamic"],
"env": {
"AWORK_API_KEY": "My API Key"
}
}
}
}Exposing endpoints to your MCP Client
There are two ways to expose endpoints as tools in the MCP server:
- Exposing one tool per endpoint, and filtering as necessary
- Exposing a set of tools to dynamically discover and invoke endpoints from the API
Filtering endpoints and tools
You can run the package on the command line to discover and filter the set of tools that are exposed by the MCP Server. This can be helpful for large APIs where including all endpoints at once is too much for your AI's context window.
You can filter by multiple aspects:
--toolincludes a specific tool by name--resourceincludes all tools under a specific resource, and can have wildcards, e.g.my.resource*--operationincludes just read (get/list) or just write operations
Dynamic tools
If you specify --tools=dynamic to the MCP server, instead of exposing one tool per endpoint in the API, it will
expose the following tools:
list_api_endpoints- Discovers available endpoints, with optional filtering by search queryget_api_endpoint_schema- Gets detailed schema information for a specific endpointinvoke_api_endpoint- Executes any endpoint with the appropriate parameters
This allows you to have the full set of API endpoints available to your MCP Client, while not requiring that all of their schemas be loaded into context at once. Instead, the LLM will automatically use these tools together to search for, look up, and invoke endpoints dynamically. However, due to the indirect nature of the schemas, it can struggle to provide the correct properties a bit more than when tools are imported explicitly. Therefore, you can opt-in to explicit tools, the dynamic tools, or both.
See more information with --help.
All of these command-line options can be repeated, combined together, and have corresponding exclusion versions (e.g. --no-tool).
Use --list to see the list of available tools, or see below.
Specifying the MCP Client
Different clients have varying abilities to handle arbitrary tools and schemas.
You can specify the client you are using with the --client argument, and the MCP server will automatically
serve tools and schemas that are more compatible with that client.
--client=<type>: Set all capabilities based on a known MCP client- Valid values:
openai-agents,claude,claude-code,cursor - Example:
--client=cursor
- Valid values:
Additionally, if you have a client not on the above list, or the client has gotten better over time, you can manually enable or disable certain capabilities:
--capability=<name>: Specify individual client capabilities- Available capabilities:
top-level-unions: Enable support for top-level unions in tool schemasvalid-json: Enable JSON string parsing for argumentsrefs: Enable support for $ref pointers in schemasunions: Enable support for union types (anyOf) in schemasformats: Enable support for format validations in schemas (e.g. date-time, email)tool-name-length=N: Set maximum tool name length to N characters
- Example:
--capability=top-level-unions --capability=tool-name-length=40 - Example:
--capability=top-level-unions,tool-name-length=40
- Available capabilities:
Examples
- Filter for read operations on cards:
--resource=cards --operation=read- Exclude specific tools while including others:
--resource=cards --no-tool=create_cards- Configure for Cursor client with custom max tool name length:
--client=cursor --capability=tool-name-length=40- Complex filtering with multiple criteria:
--resource=cards,accounts --operation=read --tag=kyc --no-tool=create_cardsImporting the tools and server individually
// Import the server, generated endpoints, or the init function
import { server, endpoints, init } from "awork-mcp/server";
// import a specific tool
import createAbsenceregions from "awork-mcp/tools/absenceregions/create-absenceregions";
// initialize the server and all endpoints
init({ server, endpoints });
// manually start server
const transport = new StdioServerTransport();
await server.connect(transport);
// or initialize your own server with specific tools
const myServer = new McpServer(...);
// define your own endpoint
const myCustomEndpoint = {
tool: {
name: 'my_custom_tool',
description: 'My custom tool',
inputSchema: zodToJsonSchema(z.object({ a_property: z.string() })),
},
handler: async (client: client, args: any) => {
return { myResponse: 'Hello world!' };
})
};
// initialize the server with your custom endpoints
init({ server: myServer, endpoints: [createAbsenceregions, myCustomEndpoint] });Available Tools
The following tools are available in this MCP server.
Resource absenceregions:
create_absenceregions(write): Creates a new absence region. An absence region is defined by an ISO 3166-1 alpha-2 country code and a location code. There can be multiple absence regions for a country, but only one absence region for a country and location. (no duplicates)This endpoint requires the Standard plan or higher.
The user must be an admin or have
user-planning-data:writepermissions.retrieve_absenceregions(read): Get an absence region by id. It will include the details of the public holidays for the country and location. Depending on the user's permissions, the visibility of users assigned to the regions may vary. Admin will see all users assigned to all regions.Any authenticated user.
update_absenceregions(write): Updates an absence region. It is possible to update the name, country code, location code, and default status of an absence region. The name of the absence region must be unique.The user must be an admin or have
user-planning-data:writepermissions.list_absenceregions(read): Gets all the absence regions of the workspace. Depending on the user's permissions, the visibility of users assigned to the regions may vary. Admin will see all users assigned to all regions. Planner users with User Team Filter on (UserTeamsData) will only see same team users assigned to the regions. Any other user will only see themselves assigned to the regions.Any authenticated user.
delete_absenceregions(write): Deletes an absence region by id, unassigning all users from the absence region. If there are workspace absences related to the region, they will be deleted as well. If the absence region is the default absence region, it will simply be deleted. (no default absence region).The user must be an admin or have
user-planning-data:writepermissions.
Resource absenceregions.countries:
list_absenceregions_countries(read): Returns a list of supported countries for absence regions. A country is defined by an ISO 3166-1 alpha-2 country code.Any authenticated user.
get_locations_absenceregions_countries(read): Returns a list of all the locations of a country, expressed as ISO 3166-2 codes. It will include the regions and subregions (sublocations) of the country if available.Any authenticated user.
Resource absenceregions.me:
assign_absenceregions_me(write): Assigns or removes the current user to/from an absence region. A user can be assigned to only one absence region. As such, if a user is already assigned to an absence region, he will be removed from the previous one and assigned to the new one. Providing a null region id will remove the user from any absence region.Any authenticated user.
Resource absenceregions.users:
assign_absenceregions_users(write): Only an admin or a user with UserPlanningData(write) permissions can assign/remove any user to an absence region. A user can be assigned to only one absence region. As such, if a user is already assigned to an absence region, he will be removed from the previous one and assigned to the new one. Providing an empty list of user ids will remove all users from the absence region.The user must be an admin or have
user-planning-data:writepermissions.
Resource absences:
create_absences(write): User planning data permissions are required if the calling user is not the owner of the absence or admin. The startOn and endOn get rounded to 00:00:00, 12:00:00, or 23:59:59 in UTC. These values can be used to set a half-day (pre or post mid-day) absence, or absences that start or end at mid-day. The end date needs to be the same or after the start date.This endpoint requires the Standard plan or higher.
retrieve_absences(read): User planning data permissions are required if the calling user is not the owner of the absence or admin.update_absences(write): User planning data permissions are required if the calling user is not the owner of the absence or admin. The startOn and endOn get rounded to 00:00:00, 12:00:00, or 23:59:59 in UTC. These values can be used to set a half-day (pre or post mid-day) absence, or absences that start or end at mid-day. The end date needs to be the same or after the start date.list_absences(read): Admin or user planning data permissions are required, otherwise only the absences of the current user are returned.delete_absences(write): User planning data permissions are required if the calling user is not the owner of the absence or admin.
Resource apiusers:
create_apiusers(write): Creates a new API user. Beware: API users will also be returned in the /users response when including archived users.The user must be an admin or have
workspace-manage-config:writepermissions.retrieve_apiusers(read):The user must be an admin or have
workspace-manage-config:readpermissions.update_apiusers(write): Updates the API user with the specified id.The user must be an admin or have
workspace-manage-config:writepermissions.list_apiusers(read): Returns all API users.The user must be an admin or have
workspace-manage-config:readpermissions.delete_apiusers(write): Deletes the API user with the specified id.The user must be an admin or have
workspace-manage-config:writepermissions.
Resource autopilot:
retrieve_autopilot(read): Returns the autopilot including its alerts. To get the autopilot data the user needs to be the owner of the project or 'read' permissions of the feature 'project-master-data' globally or in his project role.Any authenticated user.
list_available_alerts_autopilot(read): Returns all available alerts for autopilots.Any authenticated user.
Resource clientapplications:
create_clientapplications(write): Registers a new client application.The user must be an admin or have
workspace-manage-config:writepermissions.retrieve_clientapplications(read): Returns the client application with the specified id.The user must be an admin or have
workspace-manage-config:readpermissions.update_clientapplications(write): Updates the client application with the specified id.The user must be an admin or have
workspace-manage-config:writepermissions.list_clientapplications(read): Returns all client applications.The user must be an admin or have
workspace-manage-config:readpermissions.delete_clientapplications(write): Deletes the specified client application.The user must be an admin or have
workspace-manage-config:writepermissions.generate_api_key_clientapplications(write): Generates an API key for the specified client application. Requires an API user.The user must be an admin or have
workspace-manage-config:readpermissions.generate_secret_clientapplications(write): Generates a new secret for the specified client application.The user must be an admin or have
workspace-manage-config:writepermissions.
Resource comments:
create_external_files_comments(write): Endpoint to create file infos with batch operation. Created file infos don't have a version.
Resource comments.files:
create_comments_files(write): Uploads a new comment file for the comment with the specified id. Use this to upload a file as a form value along with the basic file meta data. The file size must not exceed 1GB.retrieve_comments_files(read): Returns the file metadata of the comment with the specified id.update_comments_files(write): Updates the metadata of the comment file with the specified id.list_comments_files(read): Returns all file metadata of the comment with the specified id.delete_comments_files(write): Deletes the metadata and the different versions of the file.change_entity_comments_files(write): Changes the comment this file belongs to. Switch to the specified comment or to a global file if the 'EntityId' of the model is set to null.copy_comments_files(write): Copies the file to a new comment (meta and content).create_by_url_comments_files(write): The file needs to be a public available url. The file size must not exceed 100MB.delete_all_comments_files(write): Deletes the metadata and the different versions of the files.download_comments_files(read): Returns the content of the comment file. Uses the latest file version. If the comment file is an image and the width and height are set, the image will be resized before it is returned.download_as_pdf_comments_files(read): Returns the content of the comment file. Uses the latest file version.get_share_url_comments_files(read): Returns a url to share the file.
Resource comments.files.versions:
retrieve_files_comments_versions(read): Returns the comment file version with the specified id.list_files_comments_versions(read): Returns all file versions of the specified comment file.download_files_comments_versions(read): Returns the content of the comment file version with the specified id.upload_files_comments_versions(write): Uploads a new version of an comment file. Use this to upload a file as a form value along with the basic file meta data. The file size must not exceed 1GB.
Resource companies:
create_companies(write): Creates a new company.The user must be an admin or have
company-master-data:writepermissions.retrieve_companies(read): Returns the company with the specified id.The user must be an admin or have
company-master-data:readpermissions.update_companies(write): Updates the company with the specified id.The user must be an admin or have
company-master-data:writepermissions.list_companies(read): Returns all companies.The user must be an admin or have
company-master-data:readpermissions.delete_companies(write): There are several ways to delete a company. Look into the property description of the post model to get detailed information. If the post is executed without a model, the default process 'delete-only-company' will be executed. For the operation 'delete-all-without-timeentries' project-master-data write permissions are required on all projects of the company.The user must be an admin or have
company-master-data:writepermissions.addtags_companies(write): The request fails if one of the tags is invalid (e.g. empty or duplicate). To create the tags the user needs 'write' permissions on the specified company.Any authenticated user.
externalfiles_companies(write): Endpoint to create file infos with batch operation. Created file infos don't have a version.retrieve_industries_companies(read): Returns all company industries that are currently in use.The user must be an admin or have
company-master-data:readpermissions.updatetags_companies(write): To update the tag the user needs 'write' permissions on the specified entity.Any authenticated user.
Resource companies.deletetags:
create_companies_deletetags(write): Removes tags from the project with the specified id. To delete the tags the user needs 'write' permissions on the specified company. Returns 204 NoContent if all tags have been removed successfully. Returns 207 MultiStatus if at least one tag could not be removed, including the reasons.Any authenticated user.
Resource companies.tags:
list_companies_tags(read): Returns the tags of the company with the specified id ordered by name. To read the tags the user needs 'read' permissions on the specified company.Any authenticated user.
Resource companies.contactinfo:
create_companies_contactinfo(write): Creates a new contact info for the company with the specified id.The user must be an admin or have
company-master-data:writepermissions.retrieve_companies_contactinfo(read): Returns the specified contact info of the company with the specified id.The user must be an admin or have
company-master-data:readpermissions.update_companies_contactinfo(write): Updates the contact info for the company with the specified id.The user must be an admin or have
company-master-data:writepermissions.list_companies_contactinfo(read): Returns the contact infos of the company with the specified id.The user must be an admin or have
company-master-data:readpermissions.delete_companies_contactinfo(write): Deletes the contact info of the company with the specified id.The user must be an admin or have
company-master-data:writepermissions.
Resource companies.files:
create_companies_files(write): Uploads a new company file for the company with the specified id. Use this to upload a file as a form value along with the basic file meta data. The file size must not exceed 1GB.retrieve_companies_files(read): Returns the file metadata of the company with the specified id.update_companies_files(write): Updates the metadata of the company file with the specified id.list_companies_files(read): Returns all file metadata of the company with the specified id.delete_companies_files(write): Deletes the metadata and the different versions of the file.byurl_companies_files(write): The file needs to be a public available url. The file size must not exceed 100MB.changeentity_companies_files(write): Changes the company this file belongs to. Switch to the specified company or to a global file if the 'EntityId' of the model is set to null.copy_companies_files(write): Copies the file to a new company (meta and content).delete_all_companies_files(write): Deletes the metadata and the different versions of the files.retrieve_download_companies_files(read): Returns the content of the company file. Uses the latest file version. If the company file is an image and the width and height are set, the image will be resized before it is returned.retrieve_pdf_companies_files(read): Returns the content of the company file. Uses the latest file version.retrieve_shareurl_companies_files(read): Returns a url to share the file.
Resource companies.files.versions:
create_files_companies_versions(write): Uploads a new version of an company file. Use this to upload a file as a form value along with the basic file meta data. The file size must not exceed 1GB.retrieve_files_companies_versions(read): Returns the company file version with the specified id.list_files_companies_versions(read): Returns all file versions of the specified company file.retrieve_download_files_companies_versions(read): Returns the content of the company file version with the specified id.
Resource customfielddefinitions:
create_customfielddefinitions(write): Creates a new custom field definition. This custom field definition can then be linked to project templates and to tasks.The user must be an admin or have
project-manage-config:writepermissions.update_customfielddefinitions(write):The user must be an admin or have
project-manage-config:writepermissions.list_customfielddefinitions(read): The 'linkedProjectIds' property will only be included when the 'includeLinkedProjectIds' parameter is set to 'true'.Any authenticated user.
delete_customfielddefinitions(write):The user must be an admin or have
project-manage-config:writepermissions.
Resource customfielddefinitions.selectionoptions:
create_customfielddefinitions_selectionoptions(write):The user must be an admin or have
project-manage-config:writepermissions.update_customfielddefinitions_selectionoptions(write):The user must be an admin or have
project-manage-config:writepermissions.delete_customfielddefinitions_selectionoptions(write):The user must be an admin or have
project-manage-config:writepermissions.
Resource documents:
create_documents(write):Any authenticated user.
retrieve_documents(read): Required Permissions: The user has at leastreadpermissions for this document.update_documents(write): Required Permissions: The user has at leastmanagepermissions for this document.list_documents(read): To retrieve a document, the user has to at least have 'read' permissions for the document.Any authenticated user.
delete_documents(write): The document itself is deleted synchronously, while its children and related entities are deleted asynchronously in the background if is true. If is false, the children's parent references are updated to point to the deleted document's parent. Required Permissions: The user has at leastmanagepermissions for this document.create_external_files_documents(write): Endpoint to create file infos with batch operation. Created file infos don't have a version.duplicate_documents(write): Required Permissions: The user has at leastreadpermissions for this document.
Resource documents.trash:
restore_documents_trash(write): Please note that, after a successful response, this method will trigger a number of events that will eventually update/recreate the document and the related entities such as document versions or its content. Required Permissions: The user has at leastmanagepermissions for this document.
Resource documents.comments:
create_documents_comments(write): Creates a new comment on the document with the specified id. The user needs read permissions on the document to create a comment. A user can only create a comment for him/herself, except for admins and api users.retrieve_documents_comments(read): Returns the comment with the specified id of the document with the specified id.update_documents_comments(write): Updates the comment with the specified id on the document with the specified id. InReplyToCommentId is not allowed to be changed.list_documents_comments(read): Returns all comments of the document with the specified id. The user needs read permissions on the document.delete_documents_comments(write): Deletes the comment with the specified id on the document with the specified id. The delete includes the reactions of the comment. If there are any replies to the comment, they will be deleted as well.delete_all_documents_comments(write): Deletes all comments of the specified document.react_documents_comments(write): Updates the reactions of the comment with the specified id on the document with the specified id.
Resource documents.content:
retrieve_documents_content(read): Required Permissions: The user has at leastreadpermissions for this document.update_documents_content(write): Required Permissions: The user has at leastmanagepermissions for this document.
Resource documents.contributors:
update_documents_contributors(write): Updates the specific document contributor of a document. There will be recalculation of permissions for related entities considering the updated document contributor. Required Permissions: The user has at leastmanagepermissions for this document.Updating a document contributor will affect their access to the document. Specifically the access of a particular user.delete_documents_contributors(write): Deletes the specific document contributor from a document. This operation cannot be performed on inherited document contributors, only explicit ones. There will be recalculation of permissions for related entities considering the deleted document contributor. Required Permissions: The user has at leastmanagepermissions for this document.Deleting a document contributor will affect their access to the document. Specifically the access of a particular user.add_documents_contributors(write): Recalculation of permissions for related entities considering the new document contributors will be done in the background asynchronously. Required Permissions: The user has at leastmanagepermissions for this document.Adding document contributors will affect their access to the document. Specifically the access of a particular user.
Resource documents.files:
create_documents_files(write): Uploads a new document file for the document with the specified id. Use this to upload a file as a form value along with the basic file meta data. The file size must not exceed 1GB.retrieve_documents_files(read): Returns the file metadata of the document with the specified id.update_documents_files(write): Updates the metadata of the document file with the specified id.list_documents_files(read): Returns all file metadata of the document with the specified id.delete_documents_files(write): Deletes the metadata and the different versions of the file.create_by_upload_id_documents_files(write): After a file has been uploaded to an upload URL generated from the endpoint, this endpoint can be used to create a file document from the uploaded file by providing the upload id.create_by_url_documents_files(write): The file needs to be a public available url. The file size must not exceed 100MB.delete_all_documents_files(write): Deletes the metadata and the different versions of the files.download_documents_files(read): Returns the content of the document file. Uses the latest file version. If the document file is an image and the width and height are set, the image will be resized before it is returned.share_url_documents_files(read): Returns a url to share the file.
Resource documents.files.versions:
retrieve_files_documents_versions(read): Returns the document file version with the specified id.list_files_documents_versions(read): Returns all file versions of the specified document file.download_files_documents_versions(read): Returns the content of the document file version with the specified id.upload_files_documents_versions(write): Uploads a new version of an document file. Use this to upload a file as a form value along with the basic file meta data. The file size must not exceed 1GB.
Resource documents.teams:
update_documents_teams(write): Updates the specific document team of a document. There will be recalculation of permissions for related entities considering the updated document team. Required Permissions: The user has at leastmanagepermissions for this document.Updating a document team will affect their access to the document. Specifically the access of a particular team.delete_documents_teams(write): Deletes the specific document team from a document. This operation cannot be performed on inherited document teams, only explicit ones. There will be recalculation of permissions for related entities considering the deleted document team. Required Permissions: The user has at leastmanagepermissions for this document.Deleting a document team will affect their access to the document. Specifically the access of a particular team.add_documents_teams(write): Recalculation of permissions for related entities considering the new document teams will be done in the background asynchronously. Required Permissions: The user has at leastmanagepermissions for this document.Adding document teams will affect their access to the document. Specifically the access of a particular team.
Resource documentspaces:
create_documentspaces(write): Required Permissions: The user has to be an admin.retrieve_documentspaces(read): Required Permissions: The user has at leastreadpermissions for this document space.update_documentspaces(write): Required Permissions: The user has to be an admin.This endpoint requires the Professional plan or higher.
list_documentspaces(read): To retrieve a document space, the user has to at least have 'read' permissions for the document space.Any authenticated user.
delete_documentspaces(write): Corresponding documents and their related entities will be unrecoverably deleted in the background asynchronously. Required Permissions: The user has to be an admin.
Resource documentspaces.contributors:
update_documentspaces_contributors(write): Updates the specific document space contributor of a document space. Required Permissions: The user has to be an admin.Updating a document space contributor will affect their access to the document space and documents within that space. Specifically the access of a particular user.delete_documentspaces_contributors(write): Deletes the specific document space contributor from a document space. Required Permissions: The user has to be an admin.Deleting a document space contributor will affect their access to the document space and the documents within that space. Specifically the access of a particular user.add_documentspaces_contributors(write): Required Permissions: The user has to be an admin.Adding document space contributors will affect their access to the document space and documents within that space. Specifically the access of a particular user.
Resource documentspaces.documents:
list_documentspaces_documents(read): To retrieve a document, the user has to at least have 'read' permissions for the document within the document space.Any authenticated user.
trash_documentspaces_documents(read):Any authenticated user.
Resource documentspaces.teams:
update_documentspaces_teams(write): Updates the specific document space team of a document space. Required Permissions: The user has to be an admin.Updating a document space team will affect their access to the document space and documents within that space. Specifically the access of a particular team.delete_documentspaces_teams(write): Deletes the specific document space team from a document space. Required Permissions: The user has to be an admin.Deleting a document space team will affect their access to the document space and the documents within that space. Specifically the access of a particular team.add_documentspaces_teams(write): Required Permissions: The user has to be an admin.Adding document space teams will affect their access to the document space and documents within that space. Specifically the access of a particular team.
Resource files:
download_files(read): Returns the content of the latest file version. If the file is an image and the width and height are set, the image will resized before it is returned. The get the content it is necessary to have the 'read' permissions on the entity the file is related to.Any authenticated user.
download_as_pdf_files(read): Returns the content of the latest file version as pdf. All kinds of MS Office document types are supported. To get the content you must have the 'read' permissions on the entity the file is related to.Any authenticated user.
generate_upload_url_files(write): Generates a URL that can be used to upload a file. Use the returned upload id to create a file entry. See for more information.Any authenticated user.
Resource files.images:
retrieve_public_files_images(read): Returns the public available profile image of a user/workspace or a default image if none is available. For users, the default is a generated image of the user's initials.
Resource files.images.companies:
retrieve_images_files_companies(read): Returns the image of the company with the specified id.delete_images_files_companies(write): Deletes the profile image of the company with the specified id.upload_images_files_companies(write): The profile image file needs to be sent in the body as multipart data. The file size must not exceed 100MB.
Resource files.images.contactpersons:
retrieve_images_files_contactpersons(read): Returns the image of the contactperson with the specified id.delete_images_files_contactpersons(write): Deletes the profile image of the contactperson with the specified id.upload_images_files_contactpersons(write): The profile image file needs to be sent in the body as multipart data. The file size must not exceed 100MB.
Resource files.images.projects:
retrieve_images_files_projects(read): Returns the image of the project with the specified id.delete_images_files_projects(write): Deletes the profile image of the project with the specified id.upload_images_files_projects(write): The profile image file needs to be sent in the body as multipart data. The file size must not exceed 100MB.
Resource files.images.projecttemplates:
retrieve_images_files_projecttemplates(read): Returns the image of the projecttemplate with the specified id.delete_images_files_projecttemplates(write): Deletes the profile image of the projecttemplate with the specified id.upload_images_files_projecttemplates(write): The profile image file needs to be sent in the body as multipart data. The file size must not exceed 100MB.
Resource files.images.users:
retrieve_images_files_users(read): Returns the image of the user with the specified id.delete_images_files_users(write): Deletes the profile image of the user with the specified id.upload_images_files_users(write): The profile image file needs to be sent in the body as multipart data. The file size must not exceed 100MB.
Resource files.images.workspaces:
retrieve_images_files_workspaces(read): Returns the image of the workspace with the specified id.delete_images_files_workspaces(write): Deletes the profile image of the workspace with the specified id.upload_images_files_workspaces(write): The profile image file needs to be sent in the body as multipart data. The file size must not exceed 100MB.
Resource invitations:
create_invitations(write): Invites the user with the email address to the workspace with the specified id. Sends an invitation email to the user with a link to accept the invitation. For automated invitation flows, sending the email can be skipped by setting the 'skipSendingEmail' flag to 'true'. Additionally, the invitation code, which is valid for 24 hours, is returned so that the caller can accept the invitation right away.accept_invitations(write): Accepts the invitation with the invitation code.
Resource me:
retrieve_me(read): Returns the currently logged-in user, including workspace information.Any authenticated user.
list_all_available_tasks_me(read): Returns all tasks the user is allowed to see. This contains project tasks if the user has "project-planning" permissions, all assigned tasks and also private tasks created by the user and assigned to other users.Any authenticated user.
list_dashboards_me(read): Returns the dashboards of the current user.The user must be the creator.
list_project_tasks_me(read): Returns the project tasks for which the current user has read permissions. The returned tasks depend on the global permissions and on the projects the user is a member of.Any authenticated user.
list_shared_documents_me(read): This includes documents where the user has been explicitly granted permissions, is part of a team with read permissions, or is part of the workspace with read permissions. Excludes documents where the user already has permissions from the space they're in, the project they're in, or when they're the user's own private documents.Any authenticated user.
retrieve_permissions_me(read):Any authenticated user.
Resource me.assignedtasks:
retrieve_me_assignedtasks(read):Any authenticated user.
list_me_assignedtasks(read): Returns all tasks assigned to a user. If a user gets his own tasks, the private tasks are part of the result as well. If you need only tasks of projects in status 'progress', set the 'inProgress' parameter to 'true'. The assigned on from and to parameters are optional, but both must be provided if you want to use the filter.Any authenticated user.
Resource me.otherprivatetasks:
retrieve_me_otherprivatetasks(read): Private tasks are always created for the current user but can be reassigned to other users afterwards. This route returns all private tasks that were origianally created by the user but were reassigned to someone else.Any authenticated user.
list_me_otherprivatetasks(read): Private tasks are always created for the current user but can be reassigned to other users afterwards. This route returns all private tasks that were originally created by the user but were reassigned to someone else.Any authenticated user.
Resource me.otherprivatetasks.checklistitems:
retrieve_otherprivatetasks_me_checklistitems(read): The user needs to be the creator of the task.Any authenticated user.
list_otherprivatetasks_me_checklistitems(read): The user needs to be the creator of the task.Any authenticated user.
Resource me.privatedocuments:
list_me_privatedocuments(read):Any authenticated user.
list_trash_me_privatedocuments(read):Any authenticated user.
Resource me.privatetasks:
retrieve_me_privatetasks(read):Any authenticated user.
list_me_privatetasks(read):Any authenticated user.
list_statuses_me_privatetasks(read): Returns the task statuses for private tasks.Any authenticated user.
list_tags_me_privatetasks(read):Any authenticated user.
Resource me.privatetasks.checklistitems:
retrieve_privatetasks_me_checklistitems(read): The user needs to be assigned to the task.Any authenticated user.
list_privatetasks_me_checklistitems(read): The user needs to be assigned to the task.Any authenticated user.
Resource me.tasks:
list_tags_me_tasks(read): Returns all tags from the available tasks of the user ordered by name. The user making the request needs to be assigned to the task or needs read permissions on the feature "project-planning-data" for project tasks or read permissions on the "entity-master-data" of the entity of the task.Any authenticated user.
Resource me.taskviews:
create_me_taskviews(write): Creates a new task view. The user will automatically subscribe to it in the process. If the provided filter string is invalid the request will fail with status 400.Any authenticated user.
retrieve_me_taskviews(read): Returns one task view that is specified by the id that the current user subscribed to.Any authenticated user.
update_me_taskviews(write): Updates an existing task view. If the provided filter string is invalid the request will fail with status 400. Only the original author can update a non-shared task view. Shared task views can only be updated by the original author or someone with project planning permissions.Any authenticated user.
list_me_taskviews(read): Returns all task views that the current user subscribed to.Any authenticated user.
delete_me_taskviews(write): Deletes a task view. This also removes all subscriptions of the task view. Shared task views can be deleted by the original author or users with admin permissions. Private task views can only be deleted by the original author.Any authenticated user.
list_tasks_me_taskviews(read): Applies the filter of a task view the current user subscribed to and returns all matching tasks.Any authenticated user.
subscribe_me_taskviews(write): Subscribes the user to a shared task view. Afterwards the user can retrieve the matching tasks from /me/taskViews/id/tasks.Any authenticated user.
unsubscribe_me_taskviews(write): Removes the subscription from a user to a task view. Unsunscribing only works for shared task views.Any authenticated user.
Resource me.timeentries:
retrieve_last_me_timeentries(read): The last time entry is always the last one that was started. Time entries which are started in the future are ignored. If a time entry does not have a start time, 12.00 am is automatically assumed as the start time for comparison with other time entries from the same day.The user must be an admin or the creator.
Resource me.timetracking:
pause_me_timetracking(write): If there is already a paused time tracking nothing happens. If there is no running time tracking, returns NoContent.The user must be the creator.
resume_me_timetracking(write): If there is already a running time tracking nothing happens. If there is no running time tracking, returns NoContent.The user must be the creator.
start_me_timetracking(write): If there is already a running/paused time tracking it will be stopped automatically in order to start the new one.The user must be an admin or the creator.
stop_me_timetracking(write): There is no request body necessary for this operation. For this operation to work there must be a running time tracking for the user.The user must be an admin or the creator.
Resource permissions:
list_features_permissions(read):Any authenticated user.
list_project_features_permissions(read):Any authenticated user.
Resource projectmilestones:
create_projectmilestones(write): The user needs 'write' permissions of feature 'project-planning-data' to get the data.Any authenticated user.
retrieve_projectmilestones(read): The user needs 'read' permissions of feature 'project-planning-data' to get the data.Any authenticated user.
update_projectmilestones(write): The user needs 'write' permissions of feature 'project-planning-data' to get the data.Any authenticated user.
list_projectmilestones(read): The user only gets returned all milestones of projects he has 'read' permissions of feature 'project-planning-data' for.Any authenticated user.
delete_projectmilestones(write): The user needs 'write' permissions of feature 'project-planning-data' to get the data.Any authenticated user.
Resource projectroles:
create_projectroles(write): Creates a new project role.The user must be an admin or have
workspace-manage-config:writepermissions.retrieve_projectroles(read): Returns the project role with the specified id.Any authenticated user.
update_projectroles(write): Updates the project role with the specified id.The user must be an admin or have
workspace-manage-config:writepermissions.list_projectroles(read): Returns all project roles.Any authenticated user.
delete_projectroles(write): Deletes the project role with the specified id. When you want to delete a project role which is still in use, you are required to specify which role the currently assigned members should be assigned to instead. If the default role gets deleted, the migration role becomes the new default project role.The user must be an admin or have
workspace-manage-config:writepermissions.list_by_user_projectroles(read): Returns all project roles of the specified user.Any authenticated user.
Resource projectroles.permissions:
update_projectroles_permissions(write): Creates, updates or deletes a permission of the project role. If the permission already exist, and the 'AccessLevels' property of the model is not empty, the permission will be updated. If the 'AccessLevels' property of the model is empty, the permission will be deleted. The permission will be created if it does not exist.This endpoint requires the Standard plan or higher.
The user must be an admin or have
project-manage-config:writepermissions.list_projectroles_permissions(read):Any authenticated user.
Resource projects:
create_projects(write): Creates a new project.The user must be an admin or have
project-create:writepermissions.retrieve_projects(read): Returns the project with the specified id if the user hasreadpermissions of featureproject-master-data.Any authenticated user.
update_projects(write): Updates the project with the specified id. Special handling for retainer projects: If the project has at least one Retainer, the IsRetainer flag is automatically set to true. For retainer projects, the TimeBudget cannot be set. Instead the TimeBudget is the sum of all retainer budgets. Required Permissions: The user has to be the creator of the project or needswritepermissions of the featureproject-master-data.list_projects(read): Returns all projects the user hasreadpermissions of featureproject-master-datafor.Any authenticated user.
delete_projects(write): Deletes the project with the specified id. In the default case the related tasks of this project will also be deleted and the related time entries of this project and all tasks loose the relation to the deleted project and tasks. To delete the time entries as well, you can set thedeleteTimeTrackingsproperty of the request totrue. Required Permissions: The user has to be the creator of the project or needswritepermissions of the featureproject-master-data.add_member_projects(write): Adds a project member to the project with the specified id. The new project member can also be set as a responsible project member, but only if no other member of this project is responsible. It is necessary that the project role is available in this project, otherwise the member cannot be added. A project role is available when they are connected to the specified project type of the project. A user can only be added to the project once. Required Permissions: The user has to be the creator of the project or needsmanagepermissions of the featureproject-master-data.add_tags_projects(write): The request fails if one of the tags is invalid (e.g. empty or duplicate). To create the tags the user needs 'write' permissions on the specified project.add_task_bundle_projects(write): Adds the task bundle to the project with the specified id.Any authenticated user.
change_status_projects(write): Changes the status of the project with the specified id. The project status must be associated with the project type used by the project. This potentially adds task bundles to the project and informs the project members about the status change. If the project is already in the specified status, nothing happens. Required Permissions: The user has to be the creator of the project or needswritepermissions of the featureproject-master-data.change_type_projects(write): Changes the project type of the project with the specified id. Required Permissions: The user has to be the creator of the project or needswritepermissions of the featureproject-master-data.create_external_files_projects(write): Endpoint to create file infos with batch operation. Created file infos don't have a version.create_status_projects(write): Creates a new project status.create_task_statuses_projects(write): Creates new task statuses from the project template for the the specified project.The user must be an admin or have
project-planning-data:writepermissions orproject-create:writepermissions.create_welcome_projects(write):The user must be an admin or have
project-create:writepermissions.get_type_of_work_projects(read): The project can be a connected or a workspace project. User must have at least 'read' permissions on the 'project-planning-data' feature.Any authenticated user.
link_custom_field_projects(write): When the definition is unlinked from a task, all values of the custom field will be removed from the task.Any authenticated user.
list_activities_projects(read): The activities contain information about the type of the activity, which property was changed and by whom. This contains changes to first-level properties of the project, like name, description, status, etc., as well as several related entities, such as tags, assignments, etc. This does not include activities of sub-entities, like tasks of a project or comments on a task.list_files_projects(read): Returns all files of the project including the ones of tasks linked to that project, with the specified id.list_members_projects(read): Returns the project members of the project with the specified id. Required Permissions: The user has to be the creator of the project or needsreadpermissions of the featureproject-master-data.list_milestones_projects(read): The user needs 'read' permissions of feature 'project-planning-data' to get the data.Any authenticated user.
list_task_dependencies_projects(read): To get all dependencies of a project, the user needs project planning permissions on that project.Any authenticated user.
list_time_entries_projects(read): The projectName parameter defines the main project of which to fetch the time entries. Supported types are: 'projects' and 'tasks'.remove_member_projects(write): Removes a project member from the project with the specified id. Required Permissions: The user has to be the creator of the project or needsmanagepermissions of the featureproject-master-data.unlink_custom_field_projects(write): When the definition is unlinked from a task, all values of the custom field will be removed from the task.The user must be an admin or have
project-master-data:readpermissions.update_member_projects(write): Changes the role of a project member. The project member can also be set as a responsible project member, but only if no other member of this project is responsible. It is necessary that the project role is available in this project, otherwise the member cannot be updated. A project role is available when they are connected to the specified project type of the project. Required Permissions: The user has to be the creator of the project or needsmanagepermissions of the featureproject-master-data.update_status_order_projects(write): Updates the order of a project status.update_tags_projects(write): To update the tag the user needs 'write' permissions on the specified project.
Resource projects.deletetags:
remove_projects_deletetags(write): Removes tag from all projects or project templates. To delete the tags the user needs 'write' permissions on the specified project. Returns 204 NoContent if tag has been removed successfully.remove_from_project_projects_deletetags(write): Removes tags from the project with the specified id. To delete the tags the user needs 'write' permissions on the specified project. Returns 204 NoContent if all tags have been removed successfully. Returns 207 MultiStatus if at least one tag could not be removed, including the reasons.
Resource projects.projecttasks:
retrieve_projects_projecttasks(read): To get the task with the specified id 'read' permissions on the feature project-planning-data are necessary. But the assignee has also the permissions to get the task.Any authenticated user.
list_projects_projecttasks(read): To get the task with the specified id 'read' permissions on the feature project-planning-data are necessary. Otherwise returns only assigned tasks.Any authenticated user.
change_project_projects_projecttasks(write): Changes the project of the task with the specified id. This call also moves all subtasks of the task to the new project. This also changes the tracked time sum of the new project and the previous project. The related time entries of this task will also be moved to the new project.Any authenticated user.
list_tags_projects_projecttasks(read): Returns all tags of the project tasks.Any authenticated user.
Resource projects.projecttasks.checklistitems:
retrieve_projecttasks_projects_checklistitems(read): To retrieve the checklist item of a project task either 'read' permissions on the 'project-planning-data' feature are required or the user needs to be assigned.Any authenticated user.
list_projecttasks_projects_checklistitems(read): To retrieve the checklist items of a project task either 'read' permissions on the 'project-planning-data' feature are required or the user needs to be assigned.Any authenticated user.
Resource projects.tags:
list_projects_tags(read): Returns all tags that are currently in use for the given project type ordered by name.list_for_project_projects_tags(read): Returns the tags of the project with the specified id ordered by name. To read the tags the user needs 'read' permissions on the specified project.
Resource projects.automations:
create_projects_automations(write): Creates a new automation for the project with the specified id. The user needs to be the owner of the project or have 'write' permissions of the feature 'project-master-data' globally or in the project.This endpoint requires the Standard plan or higher.
Any authenticated user.
retrieve_projects_automations(read): Returns a specific automation of the project with the specified id. Returns NotFound if the automation doesnt exist. To get the the automation data the user needs to be the owner of the project or have 'read' permissions of the feature 'project-master-data' globally or in his project role.Any authenticated user.
update_projects_automations(write): Updates the automation with the specified id. The user needs to be the owner of the project or have 'write' permissions of the feature 'project-master-data' globally or in the project.Any authenticated user.
list_projects_automations(read): Returns all automations of the project with the specified id. To get the the automation data the user needs to be the owner of the project or have 'read' permissions of the feature 'project-master-data' globally or in his project role.Any authenticated user.
delete_projects_automations(write): Deletes the specified automation for a given project. Also deletes all actions connected to the automation. The user needs to be the owner of the project or have 'write' permissions of the feature 'project-master-data' globally or in the project.Any authenticated user.
Resource projects.automations.actions:
create_automations_projects_actions(write): Creates a new action including its values for an automation. The user needs to be owner of the project or needs permission 'write' of the feature 'project-master-data' globally or in the project.Any authenticated user.
retrieve_automations_projects_actions(read): Get a specific action including its values of an automation. The user needs to be owner of the project or needs permission 'read' of the feature 'project-master-data' globally or in the project.Any authenticated user.
update_automations_projects_actions(write): Updates an exsting action including its values for an automation. The user needs to be owner of the project or needs permission 'write' of the feature 'project-master-data' globally or in the project.Any authenticated user.
list_automations_projects_actions(read): Gets all actions including their values of an automation. The user needs to be owner of the project or needs permission 'read' of the feature 'project-master-data' globally or in the project.Any authenticated user.
delete_automations_projects_actions(write): Deletes an action for an automation including all its values. The user needs to be owner of the project or needs permission 'write' of the feature 'project-master-data' globally or in the project.Any authenticated user.
update_order_automations_projects_actions(write): Updates the order of a given action in the list of actions of the specific automation. If the order isn't changed, the order wil
