LLM API (IS.AI)
A REST API that gives external AI agents and automation tools full control over your tasks. Create, read, update, complete, and move tasks — plus add comments — all via simple HTTP requests.
Authentication
Generate an API token from Account Settings → API tab. Tokens use the ist_ prefix and are passed via the Authorization header.
curl https://is.team/api/llm/{cardId} \
-H "Authorization: Bearer ist_your_token_here"Per-Card Access Control
Each board card has granular LLM access settings. You can enable or disable API access, commenting, and flow actions (create/update/complete/move) independently for every card. This lets you expose only the boards you want to external tools.
Endpoints
All endpoints are scoped to a single board card identified by its cardId.
GET Read Card
Returns the card content as structured markdown: a task table (number, title, status, priority, assignee), connected notes, connected cards (possible move targets), and available actions.
curl https://is.team/api/llm/{cardId} \
-H "Authorization: Bearer ist_your_token_here"POST Create Task
Creates a new task in the card. The task number is automatically assigned from the workspace counter. Requires title. Optional fields: type (task/bug/feature/story), priority (low/medium/high), description, assignee (member UID), assignedBy (reporter UID), parentTask (task number), dueDate, startDate, labels, storyPoints, color.
curl -X POST https://is.team/api/llm/{cardId}/create-task \
-H "Authorization: Bearer ist_your_token_here" \
-H "Content-Type: application/json" \
-d '{"title": "Implement dark mode", "type": "feature", "priority": "high"}'POST Update Task
Updates any property of an existing task. Requires taskNumber. All other fields are optional — include only what you want to change. Supported fields: title, type, priority, description, dueDate, startDate, labels, storyPoints, color, archived, assignee (member UID or null), assignedBy (reporter UID or null), parentTask (task number or null). Set any field to null to clear it.
curl -X POST https://is.team/api/llm/{cardId}/update-task \
-H "Authorization: Bearer ist_your_token_here" \
-H "Content-Type: application/json" \
-d '{"taskNumber": 5, "priority": "high", "dueDate": "2026-04-01", "labels": ["urgent"]}'POST Add Comment
Adds a comment to a specific task in the card. Requires taskNumber and text.
curl -X POST https://is.team/api/llm/{cardId}/comment \
-H "Authorization: Bearer ist_your_token_here" \
-H "Content-Type: application/json" \
-d '{"taskNumber": 1, "text": "Deployment verified — all checks passed."}'POST Complete Task
Marks a task as done. Requires taskNumber. The response includes a list of connected cards where the task can be moved next.
curl -X POST https://is.team/api/llm/{cardId}/complete-task \
-H "Authorization: Bearer ist_your_token_here" \
-H "Content-Type: application/json" \
-d '{"taskNumber": 3}'POST Move Task
Moves a task to a connected card. Requires taskNumber and targetCardTitle (case-insensitive). Tasks can only move to cards connected via the canvas connection graph.
curl -X POST https://is.team/api/llm/{cardId}/move-task \
-H "Authorization: Bearer ist_your_token_here" \
-H "Content-Type: application/json" \
-d '{"taskNumber": 3, "targetCardTitle": "Done"}'Connection Graph
Move actions follow the connection graph on your canvas. Tasks can only be moved to boards that are directly connected to the current card via canvas connections. The Read Card endpoint lists all available move targets under "connected cards".
Activity & Notifications
All API actions automatically create activity log entries and trigger notifications through every configured channel:
- In-app notifications for task assignees and watchers
- Email notifications based on user preferences
- Slack messages if the Slack integration is connected
The author of every API action is shown as IS.AI (token-name), where token-name is the name you gave your API token.
Tip
Use descriptive token names — they appear as the author in comments and activity logs.