Youmind API Integration Plan (Live Product Validation)
Last validated: 2026-02-25
Scope
This document records endpoints and behavior verified by running real actions in Youmind (not only static code reading), to support replacing browser-selector automation with API-first integration.
Real Flows Executed
- Created a new board from
https://youmind.com/boards/new - Uploaded a local file into board materials
- Added a URL to board materials via chat action command
- Started chat to generate an image
- Started chat to generate Slides
Boards created during validation:
ym-api-test-140013(/boards/019c9362-511c-7741-a93e-9955745ea222)AI产品策略(/boards/019c9368-65d5-7063-a942-38c8d1f0e7e5)AI Coding Roadmap(/boards/019c936a-9d01-719e-8394-412bc375eac4)
API Endpoints Observed
Board discovery and lookup
POST /api/v1/listBoardsPOST /api/v1/board/getBoardDetailPOST /api/v1/favorite/listFavorites
Board creation
POST /api/v1/createBoard
Observed when sending first prompt from /boards/new, followed by redirect to /boards/{boardId}.
Chat lifecycle
POST /api/v2/chatAssistant/createChatPOST /api/v2/chatAssistant/sendMessagePOST /api/v2/chatAssistant/listChatHistoryPOST /api/v2/chatAssistant/getChatDetailPOST /api/v2/chatAssistant/getChatDetailByOriginPOST /api/v2/chatAssistant/markChatAsRead
Notes:
- Initial prompt on newly created board can be submitted via
createChatflow. - Follow-up message on existing board triggers
sendMessage.
Material ingestion (file path confirmed)
POST /api/v1/genSignedPutUrlIfNotExistPOST /api/v1/createFileRecordFromCdnUrlPOST /api/v1/createTextFilePOST /api/v1/snip/getSnipPOST /api/v1/pick/listPicks
Observed after actual file upload (input[type=file]) in Materials tab.
Material ingestion (URL path, via chat command)
URL add command succeeded with response including:
资料已保存1 个资料已添加ADD_OK
API during this operation included:
POST /api/v2/chatAssistant/sendMessagePOST /api/v1/snip/getSnips
Inference: link insertion can be achieved through chat tool execution even when dedicated link endpoint is not directly exposed in this capture.
Image / Slides generation entry points
Generated from /boards/new quick actions:
创建图片创建 Slides
Observed APIs (common orchestration path):
POST /api/v1/createBoardPOST /api/v2/chatAssistant/createChatPOST /api/v1/listCraftTemplatesPOST /api/v1/pick/listPicksPOST /api/v2/chatAssistant/listChatHistory
Product evidence:
- Image flow reached
图片已创建 - Slides flow reached
创建 Slides 中 (6 张 Slides)and rendered slide titles
Required Capabilities -> Integration Mapping
User-required capability mapping:
- List all boards
- Use
POST /api/v1/listBoards
- Find a board
- Primary: filter from
listBoards - Optional detail fetch:
POST /api/v1/board/getBoardDetail
- Create board
- Use
POST /api/v1/createBoard
- Add link/file to board
- File: signed upload + record creation
genSignedPutUrlIfNotExist-> upload to signed URL ->createFileRecordFromCdnUrl
- Link:
- Short-term stable path:
chatAssistant/sendMessagewith strict add-link command - Follow-up: keep searching for dedicated link-create endpoint in JS/network traces
- Short-term stable path:
- Start chat and generate image/Slides
- Chat session:
createChat+sendMessage - Read progress/result:
listChatHistory+getChatDetail/getChatDetailByOrigin - Mode hints (image/slides) likely flow through template/craft selection:
listCraftTemplates
Implementation Guidance for Skill v2
- Build
YoumindApiClient(requests + auth session), keep UI automation as fallback only. - Implement these commands first:
boards listboards findboards creatematerials upload-filematerials add-link(chat-backed fallback)chat sendchat wait(poll history/detail until terminal state)
- Add structured operation logs:
- endpoint, request id, board id, chat id, elapsed time, failure reason
- Add compatibility guard:
- if API fails with 401/403/404/schema change, fallback to existing browser path.
Risks / Unknowns
- These are web-app internal APIs (not guaranteed stable public API contracts).
- We captured endpoint names but not full request/response schema yet.
- Link ingestion direct endpoint was not isolated in this run; chat-driven add-link works and can be used as interim production path.