# WorkRoad > WorkRoad brings notes, lecture recordings, tasks, schedules, study activities, and AI work into one app, organised by subject. Every docs page is also Markdown: add `.md` to its address, as the links below do, or ask for it with `Accept: text/markdown`. Add `?lang=de`, `es`, `fr` or `it` for a translation; pages without one, such as the API reference, are in English. Agents connected to WorkRoad's MCP server (https://workroad.app/api/mcp) can search and read these pages with the `searchDocs` and `getDoc` tools, and list them as resources. ## Guides - [Getting started](https://workroad.app/docs.md): Sign in, set up your workspace, and learn where to find each part of WorkRoad. - [Dashboard](https://workroad.app/docs/dashboard.md): The page you land on, and the cards you choose to keep on it. - [Tasks](https://workroad.app/docs/tasks.md): Capture what you have to do, then read it back as a list, a board, or a month. - [Schedule](https://workroad.app/docs/schedule.md): Build or connect a timetable, read every one of them on one week, and follow it from a calendar app. - [Notes and the editor](https://workroad.app/docs/notes.md): Create structured notes, connect related work, and see what links back to each note. - [Maths in notes](https://workroad.app/docs/note-maths.md): Write formulas, use chemistry and physics notation, and number equations. - [Importing notes](https://workroad.app/docs/importing-notes.md): Import files and exports from other apps, check limits and find missing content. - [Recording a lecture](https://workroad.app/docs/recording.md): Record audio from a note and follow the transcript as it arrives. - [Studying](https://workroad.app/docs/studying.md): Study flashcard sets, take tests, review a feed, and track your performance. - [Study rooms](https://workroad.app/docs/study-room.md): Work through your study sets with a tutor, by text or by voice, in a room that keeps its conversation. - [Copilot](https://workroad.app/docs/copilot.md): Ask questions grounded in your content and control which proposed actions run. - [Plans and AI uses](https://workroad.app/docs/plans.md): What the free and paid plans include, and what counts as one AI use. ## REST API - [REST API](https://workroad.app/docs/api.md): Create an API key, make your first request and find the guide for your integration. - [MCP server](https://workroad.app/docs/api/mcp.md): Connect WorkRoad to ChatGPT or Claude, check the connection and manage its access. - [MCP client setup](https://workroad.app/docs/api/mcp-clients.md): Connect coding tools and other MCP clients with OAuth or an API key. - [MCP agent workflows](https://workroad.app/docs/api/mcp-workflows.md): Write study material, use prompts, practise cards and follow background work. - [MCP protocol reference](https://workroad.app/docs/api/mcp-reference.md): Transport, tool arguments, responses, OAuth and protocol errors. - [API conventions](https://workroad.app/docs/api/conventions.md): Authentication, scopes, pagination, errors, safe retries and test mode. - [Limits and allowances](https://workroad.app/docs/api/limits.md): Monthly requests, AI uses and rate limits for REST and MCP clients. - [Notes and files](https://workroad.app/docs/api/notes-and-files.md): Write note content, handle Markdown conversions, organize folders and upload files. - [Tasks and schedules](https://workroad.app/docs/api/tasks-and-schedules.md): Create tasks, manage subjects and timetables, search data and change settings. - [Study sets and practice](https://workroad.app/docs/api/study-and-practice.md): Manage cards, record reviews, run practice sessions and take practice tests. - [Copilot and generations](https://workroad.app/docs/api/copilot-and-generations.md): Save content your agent writes, send copilot messages and follow generation jobs. - [Webhooks](https://workroad.app/docs/api/webhooks.md): Receive job and task events, verify signatures and recover failed deliveries. - [October 2026 v1 migration](https://workroad.app/docs/api/v1-migration.md): Update integrations written against the earlier v1 API. ## REST API: AI allowance - [Get the AI allowance](https://workroad.app/docs/api/get-ai-allowance.md): This month's AI use and the credit balance for the key's user, the same numbers the app shows. ## REST API: Calendar feeds - [Delete a calendar feed](https://workroad.app/docs/api/delete-calendar-feed.md): The address stops working at once. Calendar apps subscribed to it keep the events they already have but get no updates. - [List calendar feeds](https://workroad.app/docs/api/list-calendar-feeds.md): Lists the user's calendar feed metadata, oldest first. Secret subscription URLs are not returned; each URL is shown only when it is issued. ## REST API: Copilot - [Apply copilot actions](https://workroad.app/docs/api/apply-copilot-actions.md): Runs the actions an assistant reply proposed and returns a receipt for each. - [List copilot conversations](https://workroad.app/docs/api/list-copilot-conversations.md): Pinned conversations first, then the most recently updated. - [List copilot messages](https://workroad.app/docs/api/list-copilot-messages.md): The newest messages of a conversation, oldest first within a page. - [Send a copilot message](https://workroad.app/docs/api/send-copilot-message.md): Adds a message to a copilot conversation, or starts one, and queues the reply. ## REST API: Docs - [Read a docs page](https://workroad.app/docs/api/get-doc.md): Returns a WorkRoad docs page as Markdown: a guide to part of the app, the REST API or MCP guide, or an operation's reference with its parameters, fields, example response and errors. - [Search the docs](https://workroad.app/docs/api/search-docs.md): Searches the WorkRoad docs: the guides to each part of the app, the REST API guide, the MCP server guide and the reference page of every operation. ## REST API: Export - [Get the account export](https://workroad.app/docs/api/get-export.md): The latest account export: everything the user's account holds in one ZIP (notes as Markdown with their images and files, recordings, study sets with their review history, tasks, schedules, tests, Copilot chats and settings as JSON). - [Start an account export](https://workroad.app/docs/api/start-export.md): Starts building the account export, or returns the one already being built. ## REST API: Files - [Complete a file upload](https://workroad.app/docs/api/complete-note-file.md): Checks that the upload reached storage and starts extracting the file's text. - [Start a file upload](https://workroad.app/docs/api/create-note-file.md): Reserves a file on the note and returns a signed upload. - [Move a file to the trash](https://workroad.app/docs/api/delete-note-file.md): The file disappears from every read and stops being searchable; POST /files/{fileId}/restore brings it back. - [Get a file](https://workroad.app/docs/api/get-note-file.md): The file's upload and parse status. failure explains a failed or expired file. - [List a note's files](https://workroad.app/docs/api/list-note-files.md): Every file attached to the note, newest first, with its upload and parse status. - [Restore a file from the trash](https://workroad.app/docs/api/restore-note-file.md): Brings a trashed file back to its note's files and returns it. ## REST API: Generation - [Apply a generation](https://workroad.app/docs/api/apply-generation.md): Writes a generation into its note. - [Discard a generation](https://workroad.app/docs/api/discard-generation.md): Drops a preview without touching the note. Discarding again returns discarded false. - [Generate a note from sources](https://workroad.app/docs/api/generate-note-from-sources.md): Writes a note from the note's own files, recordings and text, as the app's Generate button does. - [Generate a note from a topic](https://workroad.app/docs/api/generate-note-from-topic.md): Writes a note about a topic into a preview for this note. Poll GET /jobs/{jobId} until it ends, then apply or discard the preview named by result.generationId. - [Generate a study set](https://workroad.app/docs/api/generate-study-set.md): Makes a study set of flashcards from a note. Poll GET /jobs/{jobId} until it ends; a finished study_set_generation job's result.setId is the new set. - [Get a generation](https://workroad.app/docs/api/get-generation.md): A note or topic generation's result. Its id is the id of the job that made it, and a finished note_generation or topic_generation job's result.generationId. ## REST API: Identity - [Get the key's user](https://workroad.app/docs/api/get-me.md): Returns the user who owns the API key. Any valid key may call it. ## REST API: Jobs - [Cancel a job](https://workroad.app/docs/api/cancel-job.md): Stops a copilot reply or a note generation, the two jobs the app has a Stop button for. - [Get a job](https://workroad.app/docs/api/get-job.md): Returns a job started by a copilot message, a generation, a practice test or a file upload. ## REST API: Note folders - [Create a note folder](https://workroad.app/docs/api/create-note-folder.md): Creates a folder, optionally filed under one of the user's subjects by subjectId or subjectName. - [Move a note folder to the trash](https://workroad.app/docs/api/delete-note-folder.md): Moves the folder and every note in it to the trash. POST /note-folders/{folderId}/restore brings back the folder and the notes that went with it. - [List note folders](https://workroad.app/docs/api/list-note-folders.md): Every folder owned by the key's user, sorted by name, then id. - [Restore a note folder from the trash](https://workroad.app/docs/api/restore-note-folder.md): Brings a trashed folder back with the notes that went to the trash with it, and returns the folder. - [Update a note folder](https://workroad.app/docs/api/update-note-folder.md): Changes only the fields you send; null on subjectId unfiles the folder. ## REST API: Notes - [Append Markdown to a note](https://workroad.app/docs/api/append-note-content.md): Converts markdown (up to 100000 characters) to the editor format and adds it after the note's existing blocks. - [Create a note](https://workroad.app/docs/api/create-note.md): Creates a note, optionally inside one of the user's folders and under one of their subjects. - [Move a note to the trash](https://workroad.app/docs/api/delete-note.md): The note disappears from every read and stops being searchable. - [Get a note with content](https://workroad.app/docs/api/get-note.md): Returns a note with its editor content and the same content as Markdown. - [List notes](https://workroad.app/docs/api/list-notes.md): Newest first. Note content is omitted; fetch a single note for content. - [Write note content as Markdown](https://workroad.app/docs/api/replace-note-content.md): Converts markdown (up to 100000 characters) to the editor format and replaces the note's content with it. - [Restore a note from the trash](https://workroad.app/docs/api/restore-note.md): Brings a trashed note back and returns it. Needs notes:delete, the scope that trashed it. - [Update a note](https://workroad.app/docs/api/update-note.md): Renames the note, moves it into or out of a folder, files it under a subject, pins it, or sets its icon. ## REST API: Practice - [Answer a practice card](https://workroad.app/docs/api/answer-practice-card.md): Records the user's answer to one card from the session as an FSRS review, schedules the card's next due time, and counts toward the daily goal and the streak, exactly like an answer in the app. - [Get a practice session's next cards](https://workroad.app/docs/api/get-practice-session.md): Returns the cards still waiting for an answer. - [Start a practice session](https://workroad.app/docs/api/start-practice-session.md): Starts flashcard practice the way the app's Review page does, over every study set the user owns or only some, and answers with the first cards. - [Undo a practice answer](https://workroad.app/docs/api/undo-practice-answer.md): Takes back an answer, as the app's undo does: the review is removed from the card's history, the card's schedule goes back to what it was, and the card is queued in the session again under a new itemId. ## REST API: Practice tests - [Create a practice test](https://workroad.app/docs/api/create-test.md): Writes a practice test from study sets and notes, as the app's New test dialog does. - [Create a practice test from your questions](https://workroad.app/docs/api/create-test-from-questions.md): Saves a practice test whose questions you wrote, in the shape WorkRoad's own generator writes them, and answers 201 with the test, ready to take: start it with POST /tests/{testId}/attempts. - [Get a practice test](https://workroad.app/docs/api/get-test.md): The test's settings, how many questions of each kind it has, and its recent attempts. - [Get a practice test attempt](https://workroad.app/docs/api/get-test-attempt.md): The attempt's questions, the user's answers and, once submitted, the correct answers and a verdict for each question. - [List practice tests](https://workroad.app/docs/api/list-tests.md): Newest first, with each test's best score and the attempt in progress. - [Save practice test answers](https://workroad.app/docs/api/save-test-answers.md): Stores the answers so far without submitting, as the app's autosave does. - [Start a practice test attempt](https://workroad.app/docs/api/start-test-attempt.md): Starts an attempt at a ready test, or returns the attempt the user already has open (status 200, resumed true). - [Submit a practice test attempt](https://workroad.app/docs/api/submit-test-attempt.md): Ends the attempt and grades it. Multiple choice, true/false and fill-in answers are graded at once. ## REST API: Recordings - [Get a recording with its transcript](https://workroad.app/docs/api/get-recording.md): The recording's transcript, one line per entry, and its summary, key terms and chapters when it has them. - [List a note's recordings](https://workroad.app/docs/api/list-note-recordings.md): The lecture recordings on a note, newest first, without their transcripts. - [Save a recording's summary](https://workroad.app/docs/api/put-recording-summary.md): Saves a summary and key terms you wrote from the transcript, replacing the ones the recording had. ## REST API: Reviews - [Grade a flashcard](https://workroad.app/docs/api/create-review.md): Records one review of a card from the review queue and schedules its next due time. - [Get the flashcard review queue](https://workroad.app/docs/api/get-review-queue.md): Returns the set's flashcards due now, decided by the server clock. ## REST API: Schedules - [Create a schedule](https://workroad.app/docs/api/create-schedule.md): Creates a DEFINED timetable kept in WorkRoad, optionally with its periods. - [Add a lesson](https://workroad.app/docs/api/create-schedule-element.md): Puts a lesson into an empty period of a DEFINED schedule kept in WorkRoad. - [Create a timetable with its lessons](https://workroad.app/docs/api/create-timetable.md): Creates a timetable kept in WorkRoad with its periods and every day's lessons in one call, as the app's setup does: the first timetable becomes the default, and the days with lessons are the days it shows. - [Remove a lesson](https://workroad.app/docs/api/delete-schedule-element.md): Empties one period of a DEFINED schedule kept in WorkRoad. - [Get a schedule](https://workroad.app/docs/api/get-schedule.md): The schedule's periods and its days with their lessons. The owner can also open an archived schedule. - [Get a week of lessons](https://workroad.app/docs/api/get-schedule-week.md): Every lesson in one week across the user's active schedules, or one schedule, as dated occurrences in the user's time zone. - [List schedules](https://workroad.app/docs/api/list-schedules.md): Every active schedule the user owns, default first, then the ones other users shared with them. - [Set a schedule's periods](https://workroad.app/docs/api/put-schedule-structure.md): Replaces the periods of a DEFINED schedule kept in WorkRoad. - [Update a schedule](https://workroad.app/docs/api/update-schedule.md): Renames, archives or restores a schedule the user owns, changes the days it shows, or makes it the default. - [Update a lesson](https://workroad.app/docs/api/update-schedule-element.md): Changes the lesson in one period of a DEFINED schedule kept in WorkRoad. ## REST API: Search - [Search everything](https://workroad.app/docs/api/search.md): Finds notes (and their headings), lecture recordings, note files, study sets and their terms, tasks, timetables, copilot conversations and practice tests by their words, the same search as the app's command menu. ## REST API: Sets - [Add terms to a study set](https://workroad.app/docs/api/add-set-terms.md): Appends up to 500 terms per call. Existing terms and their review history stay as they are. - [Create a study set](https://workroad.app/docs/api/create-set.md): Creates a set with 1-2000 terms in one call and returns it as GET /sets/{setId} would. - [Move a study set to the trash](https://workroad.app/docs/api/delete-set.md): The set disappears from every read. Its terms, images and review history stay as they are, and POST /sets/{setId}/restore brings it back. - [Delete a term](https://workroad.app/docs/api/delete-set-term.md): Deletes the term and its image. This permanently removes the term's flashcard review history and scheduling; nothing can restore them. - [Delete several terms](https://workroad.app/docs/api/delete-set-terms.md): Deletes up to 500 terms of one set in one call, with their images. - [Get a study set with its terms](https://workroad.app/docs/api/get-set.md): Returns the set and up to 500 of its terms. termsTruncated is true when the set has more. - [List a set's terms](https://workroad.app/docs/api/list-set-terms.md): Ordered by id, 100 per page by default and up to 500. Use this to read terms past the 500 that GET /sets/{setId} returns. - [List study sets](https://workroad.app/docs/api/list-sets.md): Newest first. Terms are omitted; fetch a single set for its terms. - [Restore a study set from the trash](https://workroad.app/docs/api/restore-set.md): Brings a trashed set back with its terms, images and review history, and returns it as GET /sets/{setId} would. - [Update a study set](https://workroad.app/docs/api/update-set.md): Changes the name, description or subject. Only the fields you send change; null clears a nullable field. - [Update a term](https://workroad.app/docs/api/update-set-term.md): Changes the term, definition or hints. Only the fields you send change. - [Update several terms](https://workroad.app/docs/api/update-set-terms.md): Changes up to 500 terms of one set in one call. Send each term's termId with only the fields to change. ## REST API: Settings - [Get the dashboard layout](https://workroad.app/docs/api/get-dashboard-layout.md): The dashboard cards shown, in order, and their sizes. - [Get notification settings](https://workroad.app/docs/api/get-notification-settings.md): Quiet hours, the email digest, push content, calendar alarms, and each notification kind's channels and timing. - [Get language, time zone and privacy](https://workroad.app/docs/api/get-preferences.md): The app language, the account's time zone and leaderboard visibility. - [Get the profile](https://workroad.app/docs/api/get-profile.md): The user's name, username, bio and what their public profile shows. - [Get review settings](https://workroad.app/docs/api/get-review-settings.md): Daily new-card and review limits, FSRS desired retention, the daily goal, leech handling and per-subject overrides. - [Get task preferences](https://workroad.app/docs/api/get-task-settings.md): The task types the app offers and the colours of overdue and due tasks. - [Replace the dashboard layout](https://workroad.app/docs/api/replace-dashboard-layout.md): Sets which cards the dashboard shows, in order, and their sizes. - [Resume notification email](https://workroad.app/docs/api/resume-notification-email.md): Turns notification email back on after it was suppressed because a message bounced or was reported as spam. - [Update one notification kind](https://workroad.app/docs/api/update-notification-kind.md): Turns a kind's bell, email or push on or off, or changes when it is sent. - [Update notification settings](https://workroad.app/docs/api/update-notification-settings.md): Changes quiet hours, the digest, push content or calendar alarms. - [Update language, time zone or privacy](https://workroad.app/docs/api/update-preferences.md): Changing the time zone moves every task's due date so it keeps its date and time on the clock, the same as changing it in Settings → Account. - [Update the profile](https://workroad.app/docs/api/update-profile.md): Changes the name, username, bio, status, location or what the public profile shows. - [Update review settings](https://workroad.app/docs/api/update-review-settings.md): Changes the limits, retention, daily goal or leech handling the review queue and practice sessions use. - [Update task preferences](https://workroad.app/docs/api/update-task-settings.md): Replaces the task types or changes the due-date colours. ## REST API: Study blocks - [Plan a study block](https://workroad.app/docs/api/create-study-block.md): Puts study time on the user's calendar, the way the planning copilot does: a title, a future start and end in the user's time zone, and optionally the subject, task or study set it is for. - [Delete a study block](https://workroad.app/docs/api/delete-study-block.md): Removes a planned block from the user's calendar. - [List study blocks](https://workroad.app/docs/api/list-study-blocks.md): Study time the user planned on their calendar, by start time, for a range of days in their time zone (today and the next 6 by default, at most 62 days). - [Update a study block](https://workroad.app/docs/api/update-study-block.md): Moves, renames or relinks a planned block. ## REST API: Subjects - [Create a subject](https://workroad.app/docs/api/create-subject.md): Fails on a name already in active use. - [Delete a subject](https://workroad.app/docs/api/delete-subject.md): Unfiles the subject from every task, note folder, study set and schedule element the key's user owns, then deletes it. - [Get a subject](https://workroad.app/docs/api/get-subject.md): Returns one subject the key's user owns. - [List subjects](https://workroad.app/docs/api/list-subjects.md): Returns every subject the user owns. Subjects are few and carry no creation timestamp, so this endpoint is not paginated. - [Update a subject](https://workroad.app/docs/api/update-subject.md): Changes only the fields you send. archived and any name, teachers or period change are checked and written together, against the subject's final state. ## REST API: Tasks - [Add a subtask](https://workroad.app/docs/api/create-subtask.md): Adds a checklist item to a top-level task. The subtask takes the parent's type and subject. - [Create a task](https://workroad.app/docs/api/create-task.md): Creates a task for the key's user. - [Create several tasks](https://workroad.app/docs/api/create-tasks.md): Creates up to 50 tasks in one call, each with the fields POST /tasks takes, and answers 200 with a result per task in the order sent: created with the task, or rejected with the error POST /tasks would have returned for it. - [Move a task to the trash](https://workroad.app/docs/api/delete-task.md): Moves the task and its subtasks to the trash. A later occurrence of a recurring task is kept. - [Get a task](https://workroad.app/docs/api/get-task.md): Returns one task or subtask with its subtask count and recurrence rule. - [List task types](https://workroad.app/docs/api/list-task-types.md): The task types from the user's task settings, in their configured order. - [List tasks](https://workroad.app/docs/api/list-tasks.md): Newest first, subtasks included. Filter with completed, type, subjectId, parentId and the due range dueFrom (inclusive) to dueTo (exclusive). - [Restore a task from the trash](https://workroad.app/docs/api/restore-task.md): Brings a trashed task back with the subtasks that went to the trash with it, and returns it. - [Update a task](https://workroad.app/docs/api/update-task.md): Changes only the fields you send; null clears a nullable field. ## REST API: Today - [Get today's study overview](https://workroad.app/docs/api/get-today.md): Answers "what should I study now?" in one call. ## REST API: Webhooks - [Create a webhook](https://workroad.app/docs/api/create-webhook.md): Registers an https URL to receive the events you list. The response carries the signing secret, and no other response does: store it now. - [Delete a webhook](https://workroad.app/docs/api/delete-webhook.md): Deletes the webhook and its deliveries. Deliveries still queued are not sent. - [Re-enable a webhook](https://workroad.app/docs/api/enable-webhook.md): Clears the auto-disable and the failing run, so the webhook receives new events again with the same signing secret. - [Get a webhook](https://workroad.app/docs/api/get-webhook.md): Returns endpoint settings and health, without its signing secret. - [Inspect a delivery](https://workroad.app/docs/api/get-webhook-delivery.md): Returns the event payload and up to 30 days of attempt diagnostics. - [List a webhook's deliveries](https://workroad.app/docs/api/list-webhook-deliveries.md): Newest first, with each delivery's status and last attempt. Deliveries are kept until the webhook is deleted. - [List webhooks](https://workroad.app/docs/api/list-webhooks.md): Returns the user's webhooks, oldest first. A user has at most 5. - [Pause or resume a webhook](https://workroad.app/docs/api/pause-webhook.md): Set paused true to pause or false to resume. Paused endpoints collect no new events. - [Resend a delivery](https://workroad.app/docs/api/resend-webhook.md): Queues a new delivery with the original event payload and webhook-id, using the current URL and signing secret. - [Rotate a webhook's secret](https://workroad.app/docs/api/rotate-webhook-secret.md): Replaces the signing secret and returns the new one, once. - [Send a test event](https://workroad.app/docs/api/test-webhook.md): Queues a webhook.test event for this webhook, whatever events it subscribes to, and returns the delivery. - [Edit a webhook](https://workroad.app/docs/api/update-webhook.md): Updates the URL and subscribed events without changing its signing secret. ## Product and policies - [WorkRoad](https://workroad.app/): Read the product overview and current pricing. - [Privacy](https://workroad.app/privacy): Read the privacy policy. - [Terms of service](https://workroad.app/tos): Read the terms of service. ## Optional - [Every docs page in one file](https://workroad.app/llms-full.txt): The pages above, in order, as one Markdown document. - [OpenAPI 3.1 spec](https://workroad.app/api/v1/openapi.json): Machine-readable description of every REST API v1 operation, with request and response schemas.