# decknote-app API

**Canonical:** https://apis.io/apis/decknote-app/decknote-app-api/  
**Provider:** decknote-app — https://apis.io/providers/decknote-app/  
**Documentation:** https://decknote.app/api-docs

decknote-app API is published by [decknote-app](https://apis.io/providers/decknote-app/) on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. This API exposes 6 JSON Schema definitions. The published artifact set on APIs.io includes an OpenAPI specification and 6 JSON Schemas.

decknote-app API as documented publicly: 93 operations. Contract generated from the documentation by API Evangelist (2026-11-05); not the provider's own document.

## Operations (60 of 93)

| Method | Path | Summary |
|---|---|---|
| GET | `/api/attachments/{attachmentid}` | Retrieve metadata for a specific attachment. |
| GET | `/api/export` | Export your data as a single JSON file. |
| GET | `/api/link-preview` | Get a link preview for a given URL. |
| PATCH | `/api/v1/billing/profile` | PATCH /api/v1/billing/profile — your billing details, copied onto every new document, and changing them. |
| GET | `/api/v1/boards` | Every board you can access, each with its lists |
| POST | `/api/v1/boards` | Creates a board owned by the token's user |
| GET | `/api/v1/boards/{boardid}/embeds` | GET on the same path lists them |
| POST | `/api/v1/boards/{boardid}/embeds` | Creates an embed of a board you own (Pro), same as the Share menu. |
| POST | `/api/v1/boards/{boardid}/expenses` | POST /api/v1/boards/{boardId}/expenses — a project's expenses, or log one (a cost, nothing is paid). |
| GET | `/api/v1/boards/{boardid}/files` | every file and link attached to the project's tasks, newest first |
| GET | `/api/v1/boards/{boardid}/member-rates` | Decknote REST API, version 1 |
| PUT | `/api/v1/boards/{boardid}/member-rates/{userid}` | Decknote REST API, version 1 |
| POST | `/api/v1/boards/{boardid}/pages` | a project's notes or discussions (kind=note\|discussion), or start one |
| PATCH | `/api/v1/boards/{boardid}/portal` | the portal's link, settings and latest comments, and changing them |
| POST | `/api/v1/boards/{boardid}/portal/link` | replace the secret in the link: the old one stops working at once |
| POST | `/api/v1/boards/{boardid}/portal/read` | mark the client's comments as read, those of one task or of the whole project |
| PATCH | `/api/v1/boards/{boardid}/project` | a board's project settings, and changing them (only the board's owner). |
| GET | `/api/v1/boards/{boardid}/project/summary` | GET /api/v1/boards/{boardId}/project/summary — time tracked, billable amount, how much of the budget is used and the hours of each person. |
| POST | `/api/v1/boards/{boardid}/time` | a project's time log (filters cardId userId from to limit ), or add hours by hand. |
| GET | `/api/v1/boards/{boardid}/unbilled` | GET /api/v1/boards/{boardId}/unbilled — the project's unbilled work. |
| POST | `/api/v1/cards` | Creates a card |
| PATCH | `/api/v1/cards/{cardid}/portal` | a task's conversation with the client (up to 200 messages), and showing the task on the portal |
| POST | `/api/v1/cards/{cardid}/portal/replies` | answer the client under a task (shown to anyone with the link, signed with the studio name and not emailed) |
| PATCH | `/api/v1/cards/{cardid}/time` | sets the estimate ( "estimate": "4h" ) and whether its time is billable. |
| POST | `/api/v1/cli/auth` | starts a flow and returns a device code |
| POST | `/api/v1/cli/auth/token` | polls and receives the token |
| DELETE | `/api/v1/client-comments/{commentid}` | remove a comment from the conversation |
| POST | `/api/v1/clients` | your clients. |
| PATCH | `/api/v1/clients/{clientid}` | edits one or archives it with "archived": true. |
| DELETE | `/api/v1/expense-receipts/{receiptid}` | DELETE /api/v1/expense-receipts/{receiptId} — delete a receipt attached to an expense. |
| DELETE | `/api/v1/expenses/{expenseid}` | DELETE /api/v1/expenses/{expenseId} — correct or delete an expense that is not on an invoice yet. |
| POST | `/api/v1/expenses/{expenseid}/receipts` | POST /api/v1/expenses/{expenseId}/receipts — attach a receipt to an expense (a photo or a PDF). |
| POST | `/api/v1/holidays` | your holidays (Pro): list them, add one |
| DELETE | `/api/v1/holidays/{holidayid}` | remove a holiday |
| POST | `/api/v1/imports` | your imports, or run one |
| POST | `/api/v1/imports/preview` | what importing the file would do, without writing anything |
| DELETE | `/api/v1/imports/{importid}` | take an import back |
| POST | `/api/v1/invoices` | POST /api/v1/invoices — your invoices and estimates, or a new draft. |
| GET | `/api/v1/invoices/aging` | what clients owe by how late it is |
| GET | `/api/v1/invoices/export` | the invoices as a CSV file (Pro, 402 otherwise) |
| DELETE | `/api/v1/invoices/{invoiceid}` | delete a draft for good |
| PATCH | `/api/v1/invoices/{invoiceid}` | one document in full, and changing it |
| POST | `/api/v1/invoices/{invoiceid}/answer` | record that the client accepted or declined a sent estimate |
| DELETE | `/api/v1/invoices/{invoiceid}/link` | turn off the document's public link |
| POST | `/api/v1/invoices/{invoiceid}/link` | replace the document's public link |
| POST | `/api/v1/invoices/{invoiceid}/payments` | record a payment the client made |
| GET | `/api/v1/invoices/{invoiceid}/pdf` | the document as a PDF file (application/pdf) |
| POST | `/api/v1/invoices/{invoiceid}/project` | make a project from an accepted estimate |
| POST | `/api/v1/invoices/{invoiceid}/send` | publish a draft's link (nothing is emailed) |
| POST | `/api/v1/mcp` | MCP endpoint for AI agents to call Decknote tools. |
| GET | `/api/v1/me` | Returns the user the token belongs to. |
| POST | `/api/v1/me` | POST /api/v1/me |
| DELETE | `/api/v1/page-comments/{commentid}` | edit your own comment or delete one (its author and the project owner) |
| DELETE | `/api/v1/pages/{pageid}` | delete it with its comments (its author and the project owner) |
| POST | `/api/v1/pages/{pageid}/comments` | comment on a page |
| DELETE | `/api/v1/payments/{paymentid}` | record a payment the client made |
| POST | `/api/v1/project-templates` | the starter and saved templates a project can begin from, and saving a project's shape as one |
| DELETE | `/api/v1/project-templates/{templateid}` | Rename or delete a saved one with the second route |
| POST | `/api/v1/projects` | POST /api/v1/projects — the projects you can see, with client, status, hours and budget (filters …) or a new one. |
| POST | `/api/v1/projects/from-template` | POST /api/v1/projects/from-template — a new project from a starter or a saved template. |

…and 33 more operations. They are listed in full on the page.

## Machine-readable artifacts (8)

- **OpenAPI** — https://artifacts.apis.io/decknote-app/openapi/_ae-authored/decknote-app-openapi-generated.yml
- **JSONSchema** — https://artifacts.apis.io/decknote-app/json-schema/decknote-app-post-api-v1-imports-preview-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/decknote-app/json-schema/decknote-app-post-api-v1-mcp-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/decknote-app/json-schema/decknote-app-post-api-v1-invoices-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/decknote-app/json-schema/decknote-app-post-api-v1-boards-boardid-embeds-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/decknote-app/json-schema/decknote-app-post-api-v1-time-off-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/decknote-app/json-schema/decknote-app-post-api-v1-project-templates-request-schema.json
- **APIsJSON** — https://artifacts.apis.io/decknote-app/apis.yml

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/decknote-app/decknote-app-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/decknote-app/.
