Decknote

app.decknote由 decknote.app 发布官方发布者v1.0.0更新于 Oct 25, 2026

Kanban boards your AI agent can use: add, complete, move and recall tasks with your team.

已验证Streamable HTTP可网页运行效率与工作流沟通与协作

概览

AI 生成的概览

Decknote 是一个远程 MCP 服务器,让 AI 助手读取和管理你的 Decknote 看板、列表、任务、提醒与共享设置。

可以做什么
获取账户概览,浏览看板、列表和看板活动记录,包括看板完整内容与已保存视图。搜索、读取、创建、编辑、完成、重新打开、归档和移动任务,支持 Markdown 描述、检查清单、标签和自定义字段。添加、列出和删除提醒,并以用户身份发表评论,可选择是否通知他人。创建、更新、复制、归档、恢复和删除看板与列表,并对列表排序或复制。共享看板、修改成员角色、移除成员、转移所有权、设置公开链接和管理实时嵌入。从 Trello JSON 导出文件导入新看板。
适用场景
适合在 Decknote 中管理工作的用户,让助手回答哪些任务未完成、即将到期或已逾期,或直接创建、更新和整理卡片与看板,无需切换到应用。也适合处理共享、成员和公开链接等管理操作。
运行要求
通过 streamable HTTP 连接 decknote.app 远程端点。需要 Decknote 账户,以及在 Authorization 请求头中发送的 bearer 令牌,令牌在设置的 API tokens 中创建。部分功能取决于账户套餐,例如共享、重复任务、WIP 限制和嵌入需要 Pro,免费套餐最多拥有 5 个看板。
安装前请注意
该令牌可访问你的看板和任务,请妥善保管。许多操作会修改数据,部分不可逆:删除看板或列表会连同所有卡片、评论和附件一并删除,移除成员会清除其指派和表情回应。会通知或发邮件、共享看板、移除成员、转移所有权、设置公开链接或创建嵌入的操作需要 confirm: true,否则只返回预览。公开链接使任何持有链接的人无需账户即可查看看板。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Decknote,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/app.decknote%2Fdecknote/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "decknote": {
      "type": "http",
      "url": "https://decknote.app/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

工具

200

overview

Account overview

Snapshot of the user's Decknote account: plan and limits, recent boards, what needs attention (overdue and due-today tasks, unread notifications, upcoming reminders), sharing (pending invitations, shared boards, public links, live embeds) and suggested next steps. Useful at the start of a conversation about the user's work.

无需输入参数。

list_boards

List boards

Lists the boards the user can access, each with its lists (ids and titles), the user's role on it (OWNER, EDITOR or VIEWER), whether it is archived and whether it is a favorite. These board and list ids identify boards and lists everywhere else in this server.

输入参数includeArchived

create_board

Create board

Creates a new board owned by the user. `template` sets the initial lists and labels, in the user's language: blank (To do / In progress / Done), kanban, content or personal; `lists` replaces the template's list titles. Returns the board with its list ids. The free plan allows 5 owned boards.

输入参数liststitle必填template

create_list

Create list

Adds a list (column) to a board, at the end or, with first: true, before the other lists. Returns the new list with its id. Needs edit access to the board.

输入参数firsttitle必填boardId必填

search_tasks

Search tasks

Searches the user's tasks (cards) across boards by free text in title and description, and by board, list, status (open, completed, all or archived) and due date. Answers questions like what is still open, what was noted about something, or what is due soon.

输入参数limitquerylistIdstatusboardIdincludedueBefore

get_task

Get task

Reads one task in full: title, description, dates, completion, board and list, labels, assignees, checklists with their items, comments with reactions, attachments, links to other tasks, custom field values, whether the user watches it and the user's pending reminders, with the id of each part.

输入参数cardId必填include

create_task

Create task

Adds a task (card) to a list, or to a board's first list when only boardId is given. The description becomes the card's page and accepts Markdown (headings, bullet and numbered lists, - [ ] task lists, bold, italic, code, links, fenced code). Optional due date, reminders, repeat (Pro) and a checklist. The board's rules for new cards run, as in the app.

输入参数title必填listIdboardIddueDatechecklistremindersrecurrencedescription

update_task

Update task

Edits a task: title, description, due date, start date, repeat or cover (a color, or one of the task's image attachments). The description accepts Markdown and replaces the card's whole page. null clears a date, the repeat or the cover.

输入参数titlecardId必填dueDatestartDatecoverColorrecurrencedescriptioncoverImageAttachmentId

complete_task

Complete task

Marks a task as completed (done).

输入参数cardId必填

reopen_task

Reopen task

Marks a completed task as not done again.

输入参数cardId必填

archive_task

Archive task

Archives a task: it leaves the board but keeps all its data and can be restored from the board's archive. Archiving a dated repeating task creates its next occurrence, as in the app.

输入参数cardId必填

move_task

Move task

Moves a task to another list: on the same board, optionally to a position (index 0 = top), or on another board the user can edit (it lands at the end). Moving to another board drops the old board's labels and the assignees and watchers who can't see the new board, as in the app.

输入参数indexcardId必填listId必填

add_comment

Add comment

Adds a comment to a task as the user. By default nobody is notified. With notify: true it notifies @mentioned board members and the card's watchers by push and email, as commenting in the app does; that needs confirm: true, and without it the result is a preview of who would be notified.

输入参数text必填cardId必填notifyconfirm

add_reminder

Add reminder

Adds a reminder for the user on a task: a push notification and an email at a chosen moment. Either `at` (an ISO 8601 instant), or relative to the due date (`daysBefore` + local `time` + IANA `timeZone`), which follows the due date when it moves and repeats with repeating tasks.

输入参数attimecardId必填timeZonedaysBefore

list_reminders

List reminders

Lists the user's pending reminders, soonest first, optionally on one board, with each task's title and due date.

输入参数limitboardId

remove_reminder

Remove reminder

Deletes one of the user's reminders.

输入参数reminderId必填

fetch

Fetch card

Reads one card by id as a document: title, board and list, due date, labels, description, checklists and comments.

输入参数id必填

get_board

Get board

Reads one board in full, like opening it in the app: lists with their cards (dates, labels, assignees, checklist progress, custom field values), labels, members and the user's role, custom fields, rules, card templates, the user's saved views, recently archived cards, the public link and pending invitations (owner only) and the plan limits that apply, with every id.

输入参数boardId必填cardsPerListincludeCards

list_activity

List board activity

Lists a board's activity history, newest first: who did what, and when. How far back it goes follows the board owner's plan (Free: 40 entries, Pro: 200), as in the app.

输入参数limitboardId必填

update_board

Update board

Changes a board's title, icon (one emoji), cover color or background image (Pro; PNG, JPEG, WEBP or GIF up to 5 MB, base64-encoded), or removes the background. Needs edit access to the board.

输入参数icontitleboardId必填coverColorremoveBackgroundbackgroundImageBase64

set_board_preferences

Set board preferences

Sets the user's own preferences for a board: favorite (starred) and muted (no notifications from it). Affects only the user.

输入参数mutedboardId必填favorite

duplicate_board

Duplicate board

Copies a board the user can see into a new board the user owns: lists, cards (content, dates, checklists, labels) and look. Members, comments and attachments are not copied. Counts toward the free plan's 5 owned boards.

输入参数boardId必填

archive_board

Archive board

Archives a board the user owns: it leaves everyone's dashboard and keeps all its data until it is restored. Archived boards don't count toward the free plan's 5 owned boards.

输入参数boardId必填

restore_board

Restore board

Restores an archived board the user owns to everyone's dashboard.

输入参数boardId必填

delete_board

Delete board

Permanently deletes a board the user owns, with every list, card, comment and attachment on it, also for the people it is shared with. Irreversible. Without confirm: true nothing is deleted and the result is a preview of what would be lost.

输入参数boardId必填confirm

import_trello_board

Import Trello board

Creates a board from a Trello JSON export (in Trello: Menu → Print, export and share → Export as JSON): lists, cards with Markdown descriptions, dates, labels, checklists, comments and links. Counts toward the free plan's 5 owned boards.

输入参数trelloJson必填

share_board

Share board

Shares a board the user owns with someone by email, as EDITOR or VIEWER. People with an account get access right away; others get an invitation to sign up. Decknote emails them either way, so it needs confirm: true; without it the result is a preview. Sharing is a Pro feature on the web (one flat price, not per person).

输入参数roleemail必填boardId必填confirm

update_member

Change member role

Changes a member's role on a board the user owns: EDITOR (can change things) or VIEWER (read only).

输入参数role必填userId必填boardId必填

remove_member

Remove member

Removes someone from a board the user owns: they lose access, and their assignments, watches and reactions on it are removed (their comments stay). Needs confirm: true; without it the result is a preview.

输入参数userId必填boardId必填confirm

leave_board

Leave board

Removes the user from a board someone else shared with them; only the owner can add them back. The owner can't leave their own board. Needs confirm: true; without it the result is a preview.

输入参数boardId必填confirm

transfer_board

Transfer board ownership

Hands a board the user owns to one of its members: they become the owner (their plan then decides the board's Pro features) and the user stays on as an editor. Needs confirm: true; without it the result is a preview.

输入参数boardId必填confirmnewOwnerId必填

list_embeds

List embeds

Lists the live embeds of a board the user owns (the board shown inside another app of the user's).

输入参数boardId必填

create_embed

Create embed

Lets another app of the user's show this board in an iframe (Pro, owner only): a name and up to 5 https origins allowed to frame it, read-only unless canEdit. That app's server then requests a session through the REST API. Needs confirm: true; without it the result is a preview.

输入参数name必填boardId必填canEditconfirmorigins必填

revoke_embed

Revoke embed

Turns off one of a board's embeds: the app showing it loses access at its next request. Needs confirm: true; without it the result is a preview.

输入参数confirmembedId必填

update_list

Update list

Renames a list, sets its WIP limit (Pro; null clears it) or moves it to another position among the board's lists (index 0 = first). Needs edit access to the board.

输入参数indextitlelistId必填wipLimit

duplicate_list

Duplicate list

Copies a list with its open cards (content, dates, labels, checklists) to the end of the same board.

输入参数listId必填

sort_list

Sort list

Reorders a list's cards by due date (soonest first, undated last), by title (A to Z) or by creation (newest first).

输入参数by必填listId必填

delete_list

Delete list

Permanently deletes a list and every card in it, archived ones included. Irreversible. Needs confirm: true; without it the result is a preview with the number of cards that would be lost.

输入参数listId必填confirm

create_label

Create label

Adds a label to a board. Colors: green, yellow, orange, red, purple, blue, sky, pink.

输入参数name必填color必填boardId必填

update_label

Update label

Renames or recolors a label; the change shows on every card that has it.

输入参数namecolorlabelId必填

delete_label

Delete label

Deletes a label from a board and removes it from every card that has it. Needs confirm: true; without it the result is a preview.

输入参数confirmlabelId必填

create_custom_field

Create custom field

Adds a custom field to a board's cards: text, number, select (with up to 20 options), checkbox or date. The free plan allows 3 per board.

输入参数name必填type必填boardId必填options

update_custom_field

Update custom field

Renames a custom field or changes a select field's options. Removing an option that cards use clears it from them, which needs confirm: true; without it the result is a preview.

输入参数nameconfirmfieldId必填options

delete_custom_field

Delete custom field

Deletes a custom field and its value on every card. Needs confirm: true; without it the result is a preview.

输入参数confirmfieldId必填

create_saved_view

Create saved view

Saves a personal view of a board: how to show it (board, table, calendar or timeline) and a filter (due date, labels, assignees). Only the user sees it. The free plan allows 3 per board.

输入参数duename必填viewboardId必填labelIdsassigneeIds

delete_saved_view

Delete saved view

Deletes one of the user's saved views. Needs confirm: true; without it the result is a preview.

输入参数viewId必填confirm

create_automation

Create automation

Adds a board rule: WHEN a card is added to a list / moved to a list / gets a label, THEN move it, add or remove a label, assign someone, set the due date N days ahead, archive it, or comment. Triggers: card_added, card_moved, label_added (card_added/card_moved need triggerListId, label_added needs triggerLabelId). Actions: move_to_list, add_label, remove_label, assign, set_due, archive, comment (move_to_list needs actionListId; add_label/remove_label need actionLabelId; assign needs actionUserId; set_due needs actionDays; comment needs actionText). Free plan: 1 per board.

输入参数name必填action必填boardId必填trigger必填actionDaysactionTextactionListIdactionUserIdactionLabelIdtriggerListIdtriggerLabelId

set_automation_enabled

Enable or disable automation

Turns a board rule on or off without deleting it.

输入参数enabled必填automationId必填

delete_automation

Delete automation

Deletes a board rule. Needs confirm: true; without it the result is a preview.

输入参数confirmautomationId必填

duplicate_task

Duplicate task

Copies a task right below the original: title, description, dates, labels, cover, field values and checklists (not comments, assignees or attachments).

输入参数cardId必填

restore_task

Restore task

Puts an archived task back on its list.

输入参数cardId必填

delete_task

Delete task

Permanently deletes a task with its comments, checklists and attachments. Irreversible. Needs confirm: true; without it the result is a preview of what would be lost.

输入参数cardId必填confirm

set_task_labels

Set task labels

Adds and/or removes labels of the task's board on a task. Adding a label runs the board's 'label added' rules, as in the app.

输入参数addcardId必填remove

set_task_assignees

Set task assignees

Assigns or unassigns board members on a task. Assigning someone other than the user sends them a push and an email, as in the app, so it needs confirm: true and returns a preview without it; self-assigning and unassigning don't.

输入参数addcardId必填removeconfirm

watch_task

Watch task

Starts or stops watching a task (watchers are notified of new comments on it). Affects only the user.

输入参数cardId必填watching必填

set_task_field

Set task custom field

Sets a custom field's value on a task, or clears it with null. text: any text; number: a number; select: one of its options; checkbox: true or false; date: YYYY-MM-DD.

输入参数value必填cardId必填fieldId必填

bulk_tasks

Bulk update tasks

Acts on up to 100 tasks of one board at once, like multi-select in the app: moves them to a list, adds a label, or archives them (repeating ones create their next occurrence).

输入参数action必填listIdcardIds必填labelId

create_task_from_template

Create task from template

Adds a task to a list from one of the board's card templates.

输入参数listId必填templateId必填

save_task_as_template

Save task as template

Saves a task's description and labels as a reusable card template on its board.

输入参数name必填cardId必填

delete_card_template

Delete card template

Deletes a card template; tasks made from it stay. Needs confirm: true; without it the result is a preview.

输入参数confirmtemplateId必填

edit_comment

Edit comment

Edits a comment's text (the user's own, or any on a board the user owns). It shows as edited.

输入参数text必填commentId必填

delete_comment

Delete comment

Deletes a comment (the user's own, or any on a board the user owns). Needs confirm: true; without it the result is a preview.

输入参数confirmcommentId必填

react_to_comment

React to comment

Adds or removes the user's emoji reaction on a comment. Emojis: 👍 ❤️ 🎉 😄 👀 🚀.

输入参数onemoji必填commentId必填

add_checklist

Add checklist

Adds a checklist with its items to a task, in addition to its other checklists.

输入参数itemstitlecardId必填

update_checklist

Update checklist

Renames a checklist or moves it among the task's checklists (index 0 = top).

输入参数indextitlechecklistId必填

delete_checklist

Delete checklist

Deletes a checklist with all its items. Needs confirm: true; without it the result is a preview.

输入参数confirmchecklistId必填

add_checklist_items

Add checklist items

Adds items at the end of a checklist.

输入参数items必填checklistId必填

update_checklist_item

Update checklist item

Checks or unchecks a checklist item, or changes its text.

输入参数donetextitemId必填

delete_checklist_item

Delete checklist item

Deletes one checklist item. A checklist keeps at least one item, so its last item only goes away with the whole checklist. Needs confirm: true; without it the result is a preview.

输入参数itemId必填confirm

add_attachment

Add attachment

Attaches a link (url) or a file (contentBase64 + filename) to a task. Files follow the board owner's plan: 5 MB each and 100 MB per board on Free, 25 MB and 2 GB on Pro. Photos are optimized, as in the app.

输入参数urlnamecardId必填filenamemimeTypecontentBase64

rename_attachment

Rename attachment

Renames an attachment; a file keeps its extension.

输入参数name必填attachmentId必填

delete_attachment

Delete attachment

Deletes an attachment from a task (and the task's cover, if it was the cover image). Needs confirm: true; without it the result is a preview.

输入参数confirmattachmentId必填

list_my_tasks

List my tasks

Lists the user's tasks across every board, like the app's My tasks page: open cards assigned to the user plus dated cards on the user's own boards that nobody is assigned to, grouped as overdue, today, next 7 days, later and no date.

输入参数limit

list_notifications

List notifications

Lists the user's notifications (mentions, assignments, comments on watched cards, due-date digests), newest first, with the unread count.

输入参数limitunreadOnly

mark_notifications_read

Mark notifications read

Marks notifications as read: one (notificationId, which also marks the others about the same card, as opening it in the app does), every one about a card (cardId), or all of them (all: true).

输入参数allcardIdnotificationId

get_account

Get account

Reads the user's account and settings: name, email, language, time zone, notification preferences, plan with its limits and usage, upgrade prices, API tokens and connected apps (names and dates only; secrets are not included).

无需输入参数。

update_account

Update account settings

Changes the user's settings: display name, language (en, es, fr), time zone (IANA, e.g. America/Argentina/Buenos_Aires; the daily digest goes out in the user's morning) and which notifications they get (mention, assigned, comment, due; email turns emails on or off).

输入参数namelanguagetimeZonenotifications

revoke_access

Revoke access

Revokes one of the user's API tokens (apiTokenId) or disconnects a connected app (appClientId), as listed in the account. Whatever used it stops working at once, including this connection if it is the one in use. Needs confirm: true; without it the result is a preview. New tokens are only created by the user, in Settings.

输入参数confirmapiTokenIdappClientId

list_webhooks

List webhooks

Lists the account's webhooks and Slack channels: kind (slack or json), a shortened address, the board it listens to (null: every board the user owns, plus invoices and estimates), the event types it sends, whether it is on, and how its last delivery went (lastStatus, lastError, lastSentAt; it turns itself off after 20 failures in a row). Signing secrets are not listed.

无需输入参数。

create_webhook

Create webhook

Adds a webhook: from then on, each chosen event of the user's boards is sent outside Decknote. kind "slack" posts a line to a Slack channel through a Slack incoming-webhook URL (https://hooks.slack.com/…); kind "json" POSTs the event as JSON to any https URL (Zapier, Make, n8n, a server), signed in X-Decknote-Signature with a secret returned once, here. boardId limits it to one board the user owns; without it, every board they own and their invoices and estimates. events: the types to send (default: all). The free plan has 1 webhook, Pro 25. Needs confirm: true; without it the result is a preview.

输入参数url必填kind必填eventsboardIdconfirm

update_webhook

Update webhook

Changes one of the account's webhooks: the event types it sends, turns it off or on (enabled), or replaces its signing secret (rotateSecret: the new one comes back once, and the old one stops verifying). Turning it on needs confirm: true, since events leave Decknote again; without it the result is a preview.

输入参数eventsconfirmenabledwebhookId必填rotateSecret

delete_webhook

Delete webhook

Deletes one of the account's webhooks: nothing more is sent to its address. Needs confirm: true; without it the result is a preview.

输入参数confirmwebhookId必填

test_webhook

Test webhook

Sends a test to one of the account's webhooks now and returns how it went (ok, HTTP status, error): a sample of the first event type it sends, marked "test": true (a Slack channel gets a line saying it is connected). Needs confirm: true, since it sends to an address outside Decknote; without it the result is a preview.

输入参数confirmwebhookId必填

export_data

Export data

Exports everything the user can read in Decknote as one JSON document (boards, lists, cards, checklists, comments, attachment metadata), the same export as Settings → Your data. Up to 5 per hour.

无需输入参数。

start_pro_checkout

Start Pro checkout

Starts an upgrade to Decknote Pro (14-day free trial, then US$9/month or US$90/year) by creating a Stripe Checkout link where the user pays; this tool charges nothing. Without confirm: true it returns the exact price and changes nothing; with confirm: true, amount has to equal that price. Accounts billed through Shopify are upgraded from the Shopify admin, not here.

输入参数offeramountconfirminterval

open_billing_portal

Open billing portal

Creates a link to Stripe's billing portal, where the user manages their Pro subscription: payment card, invoices, monthly or yearly billing, cancellation. Changes happen there, made by the user.

无需输入参数。

api_read

Read from Decknote API

Reads from Decknote's HTTP API (reference: https://decknote.app/api-docs#mcp-http-api) as the signed-in user, with GET; it doesn't change anything. Covers what no dedicated tool returns, such as the contents of an uploaded text file or a link preview. Reachable: GET /api/v1/me: the user (id, name, email); GET /api/v1/boards: the user's boards and their lists; GET /api/v1/boards/{boardId}/embeds: a board's live embeds (owner); GET /api/export: everything the user can read, as one JSON document; GET /api/link-preview?url=…: the title and description of a web page; GET /api/attachments/{attachmentId}: an uploaded file (text files come back as text; others as type and size). Takes a path on Decknote itself (not a full URL) and optional query parameters. Authentication, token, session, admin, payment and internal endpoints are not reachable, and secrets are removed from responses.

输入参数path必填query

api_create

Create via Decknote API

Creates something through Decknote's HTTP API (reference: https://decknote.app/api-docs#mcp-http-api) as the signed-in user, with POST. Reachable: POST /api/v1/boards: a board: { title, template? }; POST /api/v1/cards: a card: { listId | boardId, title, description?, dueDate?, checklist?, reminders? }; POST /api/v1/boards/{boardId}/embeds: an embed of a board: { name, origins[], canEdit? } (owner, Pro). Takes a path on Decknote itself (not a full URL) and a JSON object body as documented there. Needs confirm: true; without it nothing is sent and the result is a preview of the request. Authentication, token, session, admin, payment and internal endpoints are not reachable, and secrets are removed from responses.

输入参数bodypath必填confirm

show_board

Show board

Shows a board as an interactive kanban that updates live while the conversation is open: lists and cards with labels, due dates, checklist progress and assignees, where the user can drag cards between lists, complete them and add new ones. Without boardId it shows the board the user changed most recently. Clients that can't display it get the same board as JSON.

输入参数boardId

get_board_live_url

Get board live updates address

Returns a short-lived address (2 minutes to connect) of a board's live event stream: a Server-Sent Events URL that announces every change to the board and who is viewing it. Used by the board view to update itself.

输入参数boardId必填

start_timer

Start timer

Starts the user's time tracker on a project, optionally on one of its tasks. There is one timer per person: a timer already running is stopped and its time kept first (a timer stopped within 30 seconds is dropped as an accidental click). The hours are the time elapsed when it stops, rounded to the minute and capped at 16 hours. Needs the editor role on the project.

输入参数notecardIdboardId

stop_timer

Stop timer

Stops the user's running timer and keeps the elapsed time as a time entry. A timer stopped within 30 seconds is dropped as an accidental click. Says so when no timer was running.

无需输入参数。

get_running_timer

Get running timer

Returns the user's running timer, if any: the project, the task, the note, when it started and how long it has run.

无需输入参数。

log_time

Log time

Adds hours by hand to a project, or to one of its tasks. The entry takes the project's hourly rate (or the client's) and is billable according to the task's setting, else the project's, unless billable is given. Needs the editor role on the project.

输入参数daynotecardIdboardIdbillableduration必填

list_time_entries

List time entries

Lists the time entries of a project, newest first, with who logged each, the task, the day, the minutes and whether it is billable. The project owner reads everyone's entries, with their hourly rates in cents; any other member reads only their own, without rates. Also returns the total minutes of everything the filters match.

输入参数tofromlimitcardIduserIdboardId必填

update_time_entry

Update time entry

Changes a finished time entry: its duration, day, note, whether it is billable, or the task it is on (null takes it off any task). A person edits their own entries and the project owner edits anyone's. Time already billed to a client, and a timer still running, cannot be edited.

输入参数daynotecardIdentryId必填billableduration

delete_time_entry

Delete time entry

Permanently deletes a time entry, or a running timer. A person deletes their own entries and the project owner deletes anyone's; time already billed to a client cannot be deleted. Needs confirm: true; without it the result is a preview of what would be lost.

输入参数confirmentryId必填

set_task_estimate

Set task estimate

Sets how long a task is expected to take, or clears it with null. Written with a unit: 4h, 1h30, 90m, 1.5h (a bare number is minutes); up to 10,000 hours. Needs the editor role on the project.

输入参数cardId必填estimate必填

set_task_billable

Set task billable

Sets whether time logged on a task is billable to the client (true or false), or makes it follow the project's default (null). Applies to time logged from then on; entries already logged keep their setting. Needs the editor role on the project.

输入参数cardId必填billable必填

get_task_time

Get task time

Reads the time of one task: its estimate, the time tracked so far, how close that is to the estimate (ok, warning from 80%, over), whether its time is billable, and its time entries. The project owner reads everyone's entries; any other member only their own.

输入参数cardId必填

list_clients

List clients

Lists the user's clients (the companies or people projects are done for) with their contact details, currency, default hourly rate in cents and how many projects use each. The free plan includes 2 active clients.

输入参数includeArchived

create_client

Create client

Adds a client. Projects are linked to a client in their settings; the client's currency and default hourly rate apply to their time. The free plan includes 2 active clients; Pro has no limit.

输入参数name必填emailnotesphonetaxIdaddresscurrencyhourlyRate

update_client

Update client

Changes a client's name, contact details, currency, default hourly rate or notes; null clears an optional field. A new rate applies to time logged from then on: entries already logged keep the rate they were logged with.

输入参数nameemailnotesphonetaxIdaddressclientId必填currencyhourlyRate

archive_client

Archive client

Archives a client: it leaves the active list and stops counting toward the plan's client limit. Its projects keep the link and all the time stays. Needs confirm: true; without it the result is a preview.

输入参数confirmclientId必填

restore_client

Restore client

Brings an archived client back to the active list. The free plan's limit of 2 active clients applies.

输入参数clientId必填

get_project_settings

Get project settings

Reads a board's project settings: client, status (active, on hold, completed, cancelled), budget (none, hours or money), default hourly rate in cents, whether time is billable by default, and start and due dates. A board without settings is not a project yet. Only the project owner reads the rate and the money budget.

输入参数boardId必填

update_project_settings

Update project settings

Turns a board into a project or changes its settings: client (one of the user's own), status, budget type with its hours or amount, default hourly rate, billable by default, start and due dates. null clears a value. A new rate applies to time logged from then on. Only the board's owner can do this.

输入参数statusboardId必填dueDateclientIdstartDatebudgetTypehourlyRatebudgetHoursbudgetAmountbillableByDefault

get_project_summary

Get project summary

Summarizes a project: time tracked, billable time, the billable amount in cents, how much of the budget is used (ok, warning from 80%, over) and the hours of each person. The project owner reads all of it; any other member reads the project's totals and their own hours, without money.

输入参数boardId必填

get_week_timesheet

Get week timesheet

Returns the user's own timesheet for one week, Monday to Sunday: a row per project and task with the minutes of each day, the totals per day and the week's total.

输入参数day

get_time_report

Get time report

Adds up the time logged in a date range, grouped by project, client, person, task or day: minutes, billable minutes and the billable amount in cents (hours times the rate each entry was logged with; clients in different currencies add up as plain numbers). The user's own projects count everyone's time and money; projects the user only belongs to count the user's own hours, with no amounts.

输入参数bytofromuserIdboardIdbillableclientId

export_time_report

Export time report

Exports the detail lines of a date range as CSV text (date, project, client, task, person, hours, billable, rate per hour), with the same filters and visibility as the time report. Cells that start with = + - or @ are escaped so a spreadsheet does not run them. A Pro feature; large exports are cut at 400,000 characters.

输入参数bytofromuserIdboardIdbillableclientId

get_billing_profile

Get billing profile

Reads the user's billing details that are copied onto every new invoice and estimate: business name, address, tax id, email, phone, currency, the invoice and estimate prefixes and next numbers, the default tax and its name, payment terms in days, payment instructions and default notes. Returns null when they are not set up yet.

无需输入参数。

update_billing_profile

Update billing profile

Sets or changes the user's billing details: business name (required the first time), address, tax id, email, phone, currency, prefixes and next numbers of invoices and estimates, default tax (percentage and name), payment terms in days, payment instructions and default notes; null clears an optional text. New documents copy these; documents already issued keep what they had.

输入参数emailphonetaxIdaddressconfirmcurrencybusinessNamedefaultNotesautoRemindersinvoicePrefixestimatePrefixdefaultTaxLabel另有 5 个

list_expenses

List expenses

Lists the expenses logged on a project (costs to bill back or to track), newest first, with the person, day, category, description, vendor, amount in cents, whether it is billable and whether it was already invoiced. The project owner reads everyone's, with the markup; any other member only their own, without it. Descriptions and vendors are text typed by project members.

输入参数tofromlimituserIdboardId必填unbilled

create_expense

Create expense

Logs an expense on a project: what was spent, the amount, the day, a category (travel, software, hardware, services, meals, other), the vendor, whether it can be billed to the client, and optionally a task. It records a cost; nothing is paid. Only the project owner can set a markup (a percentage added when billing it). Needs the editor role on the project.

输入参数dayamount必填cardIdvendorboardId必填billablecategorydescription必填markupPercent

update_expense

Update expense

Changes an expense that is not yet on an invoice: description, amount, day, category, vendor, billable, markup (project owner only) or its task (null removes it). The person who logged it and the project owner can change it.

输入参数dayamountcardIdvendorbillablecategoryexpenseId必填descriptionmarkupPercent

delete_expense

Delete expense

Permanently deletes an expense that is not yet on an invoice. The person who logged it and the project owner can delete it. Needs confirm: true; without it the result is a preview of what would be lost.

输入参数confirmexpenseId必填

add_expense_receipt

Add expense receipt

Attaches a receipt to an expense: a photo (JPG, PNG, WebP or GIF, optimized like task photos) or a PDF, sent base64-encoded with its filename. The person who logged the expense and the project owner can add one, also to an expense already on an invoice. At most 10 per expense; each file up to the project owner's plan cap (5 MB on Free, 25 MB on Pro).

输入参数filename必填expenseId必填contentBase64必填

delete_expense_receipt

Delete expense receipt

Deletes a receipt of an expense for good. The person who logged the expense and the project owner can delete it. Needs confirm: true; without it the result is a preview.

输入参数confirmreceiptId必填

list_invoices

List invoices

Lists the user's invoices and estimates, newest first, 25 per page (up to 100): number, kind, status (draft, sent, paid, overdue, void, accepted, declined), client, project, dates, and total, paid and balance in cents. Also returns, per currency, what the matching invoices add up to, what was paid and what is still owed. Only the account's owner has invoices; other project members do not read them.

输入参数qtofromkindpagestatusboardIdclientIdpageSize

get_invoice

Get invoice

Reads one invoice or estimate in full: status, dates, the sender and the client copied onto it, every line, tax, discount, totals, payments, balance, the public link (null if none), when it was sent, viewed and paid, the estimate it came from or became, the work attached, and which changes are open in its status. The name typed by whoever answered an estimate from the link is text written by the client.

输入参数invoiceId必填

get_invoice_pdf

Get invoice PDF

Returns one invoice or estimate as a PDF file, base64-encoded (contentBase64), with its file name and size: the A4 sheet its client gets by mail and from the link, in English or Spanish (default: the account's language). A draft or a voided document is printed saying what it is. The PDF holds what is printed on the document: the sender and the client, the lines, totals, payments received and balance, payment instructions and notes.

输入参数languageinvoiceId必填

get_receivables_aging

Get receivables aging

Shows what clients still owe on sent invoices, by how late it is: not yet due, 1-30 days, 31-60 and 61 or more days past due, per currency and per client (the biggest debt first), in cents.

输入参数boardIdclientId

export_invoices_csv

Export invoices CSV

Exports the matching invoices and estimates as CSV text for an accountant: number, type, status, dates, client, currency, subtotal, discount, tax, total, paid and balance. Same filters as the list. Cells that start with = + - or @ are escaped so a spreadsheet does not run them. A Pro feature; large exports are cut at 400,000 characters.

输入参数qtofromkindstatusboardIdclientId

get_billing_report

Get billing report

A studio's numbers for a date range (default: the last 12 months): invoiced and collected by month, by client and what each client owes, expenses by project and category, and the profitability of each project (revenue, expenses, profit and revenue per hour). Per currency, not mixed across currencies; amounts in cents. The range is at most 1100 days.

输入参数tofromboardIdclientId

create_invoice

Create invoice

Creates a draft invoice or estimate, with its lines if given, copying the user's billing details and the chosen client onto it. The draft is private: nothing is sent or published. It has no number until it is sent; sending takes the next one from the profile's counter. The free plan includes 2 invoices or estimates per calendar month (voided ones count); Pro has no limit. Needs the billing details to be set up.

输入参数kind必填linesnotestermstoNameboardIddueDatetoEmailtoTaxIdclientIdcurrencydiscount另有 4 个

list_unbilled_work

List unbilled work

Lists what a project could still bill: its finished billable time entries (person, task, day, minutes and the rate each will be priced at, in cents) and its billable expenses not yet on an invoice. Only the project owner. Expense descriptions and task titles are text typed by project members.

输入参数tofromboardId必填

preview_invoice_from_work

Preview invoice from work

Shows the lines and totals an invoice made from a project's unbilled work would have, without creating anything or taking any hours: finished billable time and billable expenses, grouped per task (default), person, day or one line in total, priced at the rate each entry was logged with (an entry with no rate at all is priced at zero and counted). Only the project owner.

输入参数tofromnotestermstoNameboardId必填dueDategroupBytoEmailtoTaxIdclientIdcurrency另有 11 个

create_invoice_from_work

Create invoice from work

Creates a draft invoice from a project's unbilled work (same options as the preview): the finished billable hours and billable expenses become lines and are tied to the invoice, so they cannot be invoiced twice or edited until it is voided. The draft is private: nothing is sent. Counts toward the free plan's 2 documents per month. Only the project owner. Needs confirm: true and amount equal to the total of the preview; without them the result is that preview.

输入参数tofromnotestermsamounttoNameboardId必填confirmdueDategroupBytoEmailtoTaxId另有 13 个

update_invoice

Update invoice

Changes a document. A draft takes every field (client, dates, currency, tax, discount, notes, terms, who it is for, project and the whole list of lines, which replaces the current ones); once sent only the notes and the due date change; once paid or answered, only the notes. Totals are recomputed on the server. null clears an optional field.

输入参数linesnotestermstoNameboardIddueDatetoEmailtoTaxIdclientIdcurrencydiscounttaxLabel另有 4 个

send_invoice

Send invoice

Marks a draft as sent, gives it the next number and publishes its link: anyone who has the link can read the document (lines, amounts, the user's business details), and for an estimate answer it. Nothing is emailed. After that only the notes and the due date change. The draft needs a client name, at least one line and a total above zero. Needs confirm: true and amount equal to the total; without them the result is a preview.

输入参数amountconfirminvoiceId必填

get_invoice_email_draft

Get invoice email draft

Shows the email that would go to the client for a draft or sent document: the address, the subject and the text, with the personal message and the language if given; a reminder reads differently for a sent invoice with a balance. Sends nothing and changes nothing; says whether this server can send email at all.

输入参数tolocalemessagereminderinvoiceId必填

email_invoice

Email invoice

Emails the document to the client from Decknote on the user's behalf (replies go to the user), with a link to it; a draft takes the next number, becomes sent and its link is published. One plain address: the document's or `to`. Limited to 20 emails an hour per person and 5 per document. Needs confirm: true and amount equal to the total; without them the result is a preview with the exact email.

输入参数toamountlocaleconfirmmessagereminderinvoiceId必填

void_invoice

Void invoice

Voids a sent invoice or estimate: it cannot change any more, its number is kept, and the hours and expenses it had taken go back to the project's unbilled work. A draft is not voided (it is deleted). An invoice with payments recorded, and an estimate whose invoice still stands, cannot be voided. Needs confirm: true; without it the result is a preview.

输入参数confirminvoiceId必填

delete_invoice_draft

Delete invoice draft

Deletes a draft invoice or estimate for good. Only a draft: it was not sent, so no client saw it, and it has no number, so no gap is left in the numbering. The hours and expenses it had taken go back to the project's unbilled work, and an estimate it was made from can become an invoice again. A deleted draft stops counting toward the free plan's monthly allowance. Needs confirm: true; without it the result is a preview.

输入参数confirminvoiceId必填

record_invoice_payment

Record invoice payment

Records that the client paid, fully or in part, on a sent invoice: the amount, the day (default today, not in the future), the method (bank, card, cash, paypal, other) and a note. It records that the client paid; it does not charge or move money. The invoice becomes paid when the payments cover the total. A payment above the balance needs confirmOverpay. Needs confirm: true; without it the result is a preview with the balance.

输入参数daynoteamount必填confirminvoiceId必填paymentMethodconfirmOverpay

remove_invoice_payment

Remove invoice payment

Deletes a recorded payment from an invoice, as if it had not been written down; a paid invoice that is no longer covered goes back to sent. It undoes a note in the books; no money moves. Needs confirm: true; without it the result is a preview.

输入参数confirmpaymentId必填

list_recurring_invoices

List recurring invoices

Lists the user's recurring invoices: for each, the client, the total of each invoice, how often (every N weeks, months or years), the next date, how many are left (null = no end), what happens to each new invoice (draft, sent, or emailed to the client), whether it is paused, the last invoice it made and the reason its last run could not finish, if any. Client names and line descriptions are text typed by the user and their clients.

无需输入参数。

create_recurring_invoice

Create recurring invoice

Pro. Makes an invoice repeat: a new invoice with the same client, lines, tax, notes and terms is made on each date (every N weeks, months or years from nextDate), until endAfter invoices are made or with no end. Each new invoice is left as a draft, marked as sent (its link is published), or emailed to the client, as action says. The lines are copied now: later changes to the original invoice do not reach the ones to come. Needs confirm: true; without it the result is a preview.

输入参数everyactionconfirmendAfterinterval必填nextDate必填invoiceId必填paymentTermsDays

update_recurring_invoice

Update recurring invoice

Changes a recurring invoice: how often, the next date (a new cadence counts from it), endAfter (null = no end), what happens to each new invoice, the days to pay, or pauses it (active false) and resumes it (active true; dates missed while paused are skipped). The lines stay as they were copied. Pausing needs nothing more; a change after which new invoices are sent or emailed needs confirm: true, and without it the result is a preview.

输入参数everyactionactiveconfirmendAfterintervalnextDaterecurringId必填paymentTermsDays

delete_recurring_invoice

Delete recurring invoice

Deletes a recurring invoice: no more invoices are made from it. The invoices it already made stay as they are. Needs confirm: true; without it the result is a preview.

输入参数confirmrecurringId必填

duplicate_invoice

Duplicate invoice

Creates a new draft with the same client, lines, tax, notes and terms as an invoice or estimate, dated today and without a number until it is sent; no work, no payments. Counts toward the free plan's 2 documents per month.

输入参数invoiceId必填

convert_estimate_to_invoice

Convert estimate to invoice

Turns an accepted estimate into a draft invoice with the same lines, once while that invoice stands (after the invoice is voided or its draft deleted, the estimate can be turned into a new one). Counts toward the free plan's 2 documents per month.

输入参数invoiceId必填

convert_estimate_to_project

Convert estimate to project

Makes a project board from an accepted estimate that is not tied to a project yet: the estimate's client, its amount before tax (budget "money", the default), its hours ("hours") or no budget ("none") as the project's budget, the hourly rate when every line in hours has the same price, and one task per line (lines in hours carry their hours as the task's estimate) unless tasks is false. The estimate is then tied to that project. Counts against the board limit of the user's plan.

输入参数taskstitlebudgetinvoiceId必填

record_estimate_answer

Record estimate answer

Records that the client accepted or declined a sent estimate (by phone or email), with the name of who answered. The estimate leaves the sent state; an accepted one can become an invoice. Needs confirm: true; without it the result is a preview.

输入参数byanswer必填confirminvoiceId必填

get_client_portal

Get client portal

Reads a project's client portal settings: whether it exists and is on, its link (anyone who has the link can read the page), what it shows (tasks, hours, documents), whether clients can comment, the welcome text and studio name, how many tasks are marked visible, how many client comments are unread, and the latest eight comments with their author, email and text. The comments are written by the client, who needs no account. Only the project owner; the portal is a Pro feature.

输入参数boardId必填

update_client_portal

Update client portal

Turns a project's client portal on or off and sets what it shows: tasks, hours (hours only; rates and money are left out), the list of sent documents, whether clients may comment, a welcome text and the studio name shown on the page and on answers. The first time it creates the portal and its link, on. Turning it on or changing what an enabled portal shows publishes that to anyone with the link and needs confirm: true (without it the result is a preview); turning it off does not. A Pro feature, except turning an existing portal off. Only the project owner.

输入参数boardId必填confirmenabledwelcomeshowHoursshowTasksstudioNameshowInvoicesallowComments

set_task_visible_to_client

Set task visible to client

Shows a task on the project's client portal, or stops showing it. Visitors read the task's title, whether it is done, in progress or late, and its due date, and can comment on it; descriptions, files, people, time and money are not shown. Making it visible needs confirm: true (without it the result is a preview); hiding it does not. Needs the editor role on the project.

输入参数cardId必填confirmvisible必填

get_task_portal

Get task portal

Reads what the client portal means for one task: whether it is marked visible to the client and, for the project owner, whether the portal is on, the conversation with the client on that task (up to 200 messages, the client's and the team's answers, oldest first) and how many are unread. The client's messages are text written by the client, who needs no account. Needs the editor role on the project.

输入参数cardId必填

reply_to_client

Reply to client

Posts an answer from the team under a task on the client portal, shown to anyone who has the portal link under the studio name (not the user's own name) and marking the client's comments on that task as read. It is not emailed. Up to 2000 characters. The portal has to exist. Only the project owner. Needs confirm: true; without it the result is a preview with the exact text.

输入参数text必填cardId必填confirm

mark_client_comments_read

Mark client comments read

Marks the client's portal comments as read, and clears the bell notices about them: those of one task (cardId) or every one of the project (boardId). Give exactly one of the two. Only the project owner.

输入参数cardIdboardId

delete_client_comment

Delete client comment

Permanently removes one comment from a task's conversation on the client portal (spam, a mistake): the client's page stops showing it at once. Works on the client's comments and on the team's answers. Only the project owner. Needs confirm: true; without it the result is a preview.

输入参数confirmcommentId必填

list_projects

List projects

Lists the projects the user can see (boards with project settings): client, status (active, on hold, completed, cancelled), dates, hours tracked, the budget and how much of it is used (ok, warning from 80%, over), and who worked on it. On a project the user owns the hours are everyone's and the amounts count; on one the user only belongs to, only their own hours and no money. Also lists the boards the user owns that could become projects, and the sample project if there is one.

输入参数qsortstatusclientId

create_project

Create project

Creates a new project: a board with the plain three-list layout and project settings (active), optionally for one of the user's clients. Counts against the free plan's board limit like any board. To turn an existing board into a project, change its project settings.

输入参数title必填clientId

get_workload

Get workload

Plans the team's work: for each person, the time left on their open tasks with an estimate (the estimate minus the time tracked), placed in the week of each task's due date for the next six weeks, against that week's capacity (their weekly capacity less the user's holidays and their own time off: each week has capacityMinutes and offMinutes); overdue, later and undated work are listed apart. Says per week whether it is empty, ok, near (from 80%) or over capacity. The user sees the people on the projects they own and themselves. A Pro feature. Names and task titles are text typed by project members.

输入参数personIdincludeTasks

set_my_weekly_capacity

Set my weekly capacity

Sets how many hours a week the user can work, which the workload view compares their planned work with: 40, 37.5 or 37:30; 0 for someone who is away, at most 168. Only the user's own: there is no way to set another person's.

输入参数hours必填

list_project_templates

List project templates

Lists the templates a new project can start from: the starters that come with Decknote (website project, marketing campaign, monthly retainer) and the ones the user saved, each with its lists, number of tasks, total estimate, whether its tasks carry relative due dates, and a note when a saved one cannot be used. The free plan keeps 1 saved template; the starters cost no place.

无需输入参数。

save_project_as_template

Save project as template

Saves a project's shape as a template: its lists, open tasks (title, estimate, billable, labels, checklists with the items unticked, due dates as days from the start), labels and billable default. Its people, comments, logged time, descriptions, attachments and client are left out. The budget and the hourly rate are saved only with includeMoney. Only the project owner. The free plan keeps 1 saved template; Pro has no limit.

输入参数name必填boardId必填descriptionincludeMoney

create_project_from_template

Create project from template

Creates a new project from a starter or saved template: its lists, labels, tasks with estimates and checklists, and settings, with due dates shifted onto the start date (default today). The template is untouched. Optionally for one of the user's clients. Counts against the free plan's board limit like any board.

输入参数title必填clientIdstartDatetemplateId必填templateKind必填

rename_project_template

Rename project template

Changes the name and description of a saved template (also one that is damaged and cannot be used). The description is cleared when not given.

输入参数name必填templateId必填description

delete_project_template

Delete project template

Permanently deletes a saved template of the user (projects already made from it are untouched; the starters cannot be deleted). Needs confirm: true; without it the result is a preview.

输入参数confirmtemplateId必填

list_pages

List pages

Lists a project's notes or discussions, pinned first and then the most recently touched (a reply counts), up to 200: title, a snippet, who started it, comment count, pinned and archived. Searches titles and bodies. Titles and snippets are written by project members. Any role on the project reads.

输入参数qkind必填boardId必填archived

get_page

Get page

Reads one note or discussion in full: its title, its body as Markdown (up to 100,000 characters; bodyTruncated says it was cut), who started it, whether it is pinned or archived, its comments oldest first (the newest ones that fit, at most 500; commentsTruncated says some were left out), and the rev to send back when editing it. The title, body and comments are written by project members. Any role on the project reads.

输入参数pageId必填

create_page

Create page

Starts a note (shared writing any editor can change) or a discussion (its text belongs to its author and the owner; editors answer with comments) in a project. The body is Markdown; links must be http, https, mailto, tel or of this site. Too much text is refused, not cut. Needs the editor role on the project.

输入参数kind必填title必填boardId必填content

update_page

Update page

Changes a page's title and/or body (Markdown, replacing the whole body). It needs the rev from when the page was read: if somebody saved in between, the save is refused with the reason and nothing is overwritten. Pinning, archiving and comments do not change the rev. A discussion's text is edited by its author and the project owner; an archived page is read-only. A page with images, or with a body longer than 100,000 characters, keeps its body: only its title changes. Needs the editor role on the project.

输入参数rev必填titlepageId必填content

set_page_pinned

Set page pinned

Pins a page to the top of its list, or unpins it. Only the project owner; an archived page cannot be pinned.

输入参数pageId必填pinned必填

set_page_archived

Set page archived

Archives a page (it leaves the list, becomes read-only and loses its pin) or restores it. Only the project owner.

输入参数pageId必填archived必填

delete_page

Delete page

Permanently deletes a note or discussion with all its comments. Its author and the project owner can. Needs confirm: true; without it the result is a preview.

输入参数pageId必填confirm

add_page_comment

Add page comment

Adds a comment to a note or discussion (plain text, up to 5000 characters); the page moves up its list. Not on an archived page. Needs the editor role on the project.

输入参数text必填pageId必填

edit_page_comment

Edit page comment

Changes the text of one of the user's own page comments. Not on an archived page. Needs the editor role on the project.

输入参数text必填commentId必填

delete_page_comment

Delete page comment

Permanently deletes a page comment. Its author and the project owner can. Needs confirm: true; without it the result is a preview.

输入参数confirmcommentId必填

list_project_files

List project files

Lists every file and link attached to a project's tasks, newest first (up to 200): name, type (image, pdf, document, sheet, archive, media, link, other), MIME type, size, the task and list it is on, and for a link its address. Narrow by type or by text in the file or task name; also returns how many there are of each type. Names and addresses are typed by project members. Any role on the project reads.

输入参数qtypeboardId必填

list_team_rates

List team rates and costs

Lists the user's team (themselves, the people on their projects and whoever logged time on them) with each person's default hourly rate, what an hour of theirs costs the user, their weekly capacity and on how many projects they are. Amounts in cents. The cost is only the user's: nobody else reads it. Names and emails are typed by other people. A Pro feature.

无需输入参数。

set_team_rate

Set a person's rate and cost

Sets what a person is billed at by default on the user's projects (hourlyRate) and what an hour of theirs costs the user (hourlyCost), per hour. They apply to hours logged from then on: each hour keeps the rate and cost it had when it was logged, unless the user applies the new ones to the hours already logged. null clears a value. The rate is the last resort: the person's rate on a project, then the project's, then the client's come first. A Pro feature.

输入参数userId必填hourlyCosthourlyRate

get_member_rates

Get the rates of a project's people

For a project the user owns: the project's and the client's rates and, for each person who can log time there (the owner and the editors), the rate set for them on this project, what a new hour of theirs would be billed at and where that comes from (member, project, client, team or none). Amounts in cents. Names are typed by project members. A Pro feature.

输入参数boardId必填

set_member_rate

Set a person's rate on a project

Sets what one person is billed at on one project the user owns, over the project's, the client's and their default. null goes back to those. It applies to hours logged from then on. The person must be able to log time there. A Pro feature.

输入参数userId必填boardId必填hourlyRate必填

reprice_time

Apply today's rates and costs to logged hours

A rate or a cost is frozen on each hour when it is logged, so one set today does not reach last month's hours. This gives the hours logged on or after `from` (not invoiced, not running, not on a closed day) the rate and cost a new hour would get now: only the empty ones unless overwrite is true, and it does not clear a value. It changes numbers in the user's reports, so it needs confirm: true; without it the result is a preview with the counts. Only the user's own projects and team. A Pro feature.

输入参数from必填userIdboardIdconfirmoverwrite

get_profitability_report

Get the profitability report

What the hours were worth, what they cost and what is left, for a range of at most 400 days, by project (default), client, person or task (each task with its project; the hours of a project logged without a task are one row whose key is none: followed by the project id). value = billable minutes at the rate frozen on each entry; cost = all minutes at the cost frozen on each entry (hours logged before a cost was set are counted in minutesWithoutCost and have none); margin = value + billable expenses recovered with their markup - cost - expenses. Money is per currency and is not added across them; a project in a currency other than costCurrency (the user's billing currency) has marginCents null. Amounts in cents. Only the user's own projects. Names are typed by other people. A Pro feature.

输入参数byto必填from必填

get_utilization_report

Get the utilization report

For each person on the user's team: what they could work in a range of at most 400 days (their weekly capacity over Monday to Friday, less the user's holidays and their own time off), their hours on the user's projects, their billable hours, and billable over capacity in percent (utilizationPct, null with no capacity). Only the hours on the user's own projects are counted. Names are typed by other people. A Pro feature.

输入参数to必填from必填

get_assignments_report

Get the assignments report

Who is doing what: every open task (not completed, not archived) of the projects the user owns, grouped by the person it is assigned to, plus a group for the tasks nobody is assigned to (userId null); a task with two people is in both groups and the totals count it once. Each task has its project, client, list, labels, due day and where it falls (overdue, this_week, later or none, in the user's time zone), the estimate, the time logged on it by everyone, what is left of the estimate and what was logged past it. Filters: a project, a client, a person or the unassigned tasks, the due bucket and a label name. Up to 5,000 tasks. Names and titles are typed by other people. A Pro feature.

输入参数duelabeluserIdboardIdclientIdunassigned

preview_time_import

Preview time import

Reads a CSV of hours (Toggl, Harvest, Clockify or any CSV with a date and a duration or start and end times) and says what importing it would do, without writing anything: the rows that can be imported and their total time, the clients, projects and tasks that would be created, duplicates of an earlier import that would be skipped, the rows that cannot be read with their row numbers, who the time would be logged as, and whether the free plan's limits block it. Also returns the settings it used (guessed from the headers unless given) and the file's columns. The CSV travels as text, up to 200,000 characters; the Import page of the app takes files up to 8 MB. Names and cells from the file are text written by others.

输入参数csv必填sourcemappingfileNamedateOrderdurationUnitcreateClientsexcludeProjectsfallbackProject

import_time_csv

Import time CSV

Imports a CSV of hours: creates the clients and projects it names (when createClients is on), a task for each task name, and one time entry per row, logged as the user unless the file names a project member's email. Rows already imported before are skipped, and the whole import can be taken back. The plan is made again from the file and the account at that moment. Same arguments as the preview; the CSV travels as text, up to 200,000 characters (bigger files go through the Import page of the app). Names from the file are text written by others. Needs confirm: true; without it the result is the preview.

输入参数csv必填sourceconfirmmappingfileNamedateOrderdurationUnitcreateClientsexcludeProjectsfallbackProject

list_time_imports

List time imports

Lists the user's time imports, newest first (the last 30): the source (toggl, harvest, clockify, generic), the file name, whether it is done or was undone, how many entries and how many minutes it brought, how many rows were skipped as duplicates or failed, and when. The sample project is not listed.

无需输入参数。

undo_time_import

Undo time import

Takes an import back: deletes its time entries and the clients, projects and tasks it created that nobody has used since (those that were used are kept, and the result counts them). Refused when some of the time was already invoiced, when it was already undone, and for the sample project. Needs confirm: true; without it the result is a preview.

输入参数confirmimportId必填

create_sample_project

Create sample project

Creates a sample client, a sample project with a budget, six tasks with estimates and two weeks of hours, labelled as a sample in its name, so reports, the budget bar and the timesheet have something to show. One at a time. Uses a board of the free plan's limit (and the sample client is left out if the client limit is full).

无需输入参数。

delete_sample_project

Delete sample project

Permanently deletes the sample project with everything on it (its tasks, hours and anything added to it since) and the sample client if nothing else uses it. The user's own projects and reports are untouched. Needs confirm: true; without it the result is a preview.

输入参数confirm

list_holidays

List holidays

Lists the holidays on the user's calendar, oldest first (up to 1,000): day, name and whether it falls on a weekend (a weekend holiday takes nothing from anyone's capacity). A holiday takes the whole working day off the capacity of everybody in the user's Workload. A Pro feature.

输入参数tofrom

add_holiday

Add holiday

Adds a holiday to the user's calendar: one per day, with a name of up to 80 characters. That day holds no work for anybody in the user's Workload, so every person's capacity for that week is one working day lower; a holiday on a Saturday or a Sunday changes nothing. A Pro feature.

输入参数day必填name必填

remove_holiday

Remove holiday

Removes a holiday from the user's calendar: that day counts as a working day again in everybody's capacity. Needs confirm: true; without it the result is a preview. A Pro feature.

输入参数confirmholidayId必填

list_time_off

List time off

Lists time off (vacation, sick leave, other), soonest first (up to 500): the user's own and, on Pro, that of the editors of the projects the user owns. Each has the person, the kind, the first and last day, the minutes off each day (null is the whole working day), the number of days and its status: pending (asked for and waiting for an owner of the person's projects), approved (it lowers the capacity) or rejected, with who decided, when and their note, and whether the user can approve or reject it. The person's own note comes only with the user's own time off. Person names and notes are typed by people. Optionally one person's, one status, or what overlaps a range of days.

输入参数tofromstatususerId

add_time_off

Add time off

Records time off for the user or, on Pro, for an editor of a project the user owns: a vacation, sick leave or other, from a first day to a last day (a single day when no last day is given), for the whole working day or a number of minutes of each. Once approved it lowers that person's capacity in the Workload for the weeks it touches (Monday to Friday count). The user's own time off is a request (status pending, and those owners get a notification) when an owner of a project the user edits plans with the team calendar, and approved at once otherwise; time off recorded for an editor is approved. A span is at most 366 days. The note belongs to the person: only they can write it, so it is refused when the time off is for somebody else.

输入参数kindnoteendDayuserIdstartDay必填minutesPerDay

update_time_off

Update time off

Changes the kind, the days, the minutes off each day or the note of a time off; what is not given stays as it was, and null minutes make it the whole working day again. A person changes their own (changing the kind, the days or the minutes of an approved or rejected one asks the owners for approval again); on Pro, the owner of a project changes the time off of its editors (the note stays the person's). The whole result is checked again: at most 366 days, ending on or after the first day.

输入参数kindnoteendDaystartDaytimeOffId必填minutesPerDay

remove_time_off

Remove time off

Deletes a time off (the user's own, or on Pro one of an editor of the user's projects): those days count as working days again in the Workload. Needs confirm: true; without it the result is a preview.

输入参数confirmtimeOffId必填

版本历史

1
  1. v1.0.0最新Oct 12, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。