ainote Tasks API
The tasks API from ainote — 5 operation(s) for tasks.
The tasks API from ainote — 5 operation(s) for tasks.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ainote-dev:ainote-dev-tasks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ainote MCP — OpenAPI mirror Tasks API
version: 1.3.0
description: OpenAPI 3.1 surface auto-generated from ainote's MCP tool registry. Use this with OpenAI Custom GPT Actions, LangChain remote tools, AutoGen, or any HTTP-first agent runtime that consumes OpenAPI. The native MCP (JSON-RPC) endpoint at POST /api/mcp remains the recommended path for Claude/Cursor/Windsurf. Tool semantics (annotations, idempotency, destructiveness) are identical across both surfaces — see x-mcp-annotations.
contact:
name: ainote
url: https://docs.ainote.dev
license:
name: MIT
servers:
- url: https://api.ainote.dev
security:
- McpKeyAuth: []
tags:
- name: Tasks
paths:
/api/mcp/tools/list_tasks:
post:
operationId: tool_list_tasks
summary: List all tasks from AI Note with advanced filtering, date ranges, location…
description: List all tasks from AI Note with advanced filtering, date ranges, location search, and sorting
tags:
- Tasks
x-mcp-annotations:
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
status:
type: string
enum:
- pending
- completed
description: Filter by task status
is_important:
type: boolean
description: Filter by important tasks only
limit:
type: number
description: 'Maximum number of tasks to return (default: 25, max: 500)'
offset:
type: number
description: 'Number of tasks to skip for pagination (default: 0). Use with limit to fetch additional pages.'
search:
type: string
description: Search keyword in task content and notes (case-insensitive partial match)
location:
type: string
description: Filter by location (partial match, e.g., '여의도', '서울')
category_id:
type: string
description: Filter by category UUID
due_date_start:
type: string
description: Filter tasks with due_date >= this date (ISO 8601 format)
due_date_end:
type: string
description: Filter tasks with due_date <= this date (ISO 8601 format)
completed_date_start:
type: string
description: Filter tasks completed >= this date (ISO 8601 format)
completed_date_end:
type: string
description: Filter tasks completed <= this date (ISO 8601 format)
created_date_start:
type: string
description: Filter tasks created >= this date (ISO 8601 format)
created_date_end:
type: string
description: Filter tasks created <= this date (ISO 8601 format)
overdue:
type: boolean
description: Filter overdue incomplete tasks (due_date < today)
due_today:
type: boolean
description: Filter tasks due today
has_notification:
type: boolean
description: Filter by notification enabled status
sort_by:
type: string
enum:
- due_date
- created_at
- completed_at
- updated_at
- is_important
description: 'Sort field (default: created_at)'
sort_order:
type: string
enum:
- asc
- desc
description: 'Sort order (default: desc)'
responses:
'200':
description: Tool executed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ToolSuccessResponse'
'400':
description: Invalid arguments or business-rule violation
content:
application/json:
schema:
$ref: '#/components/schemas/ToolErrorResponse'
'401':
description: Missing or invalid McpKey
/api/mcp/tools/create_task:
post:
operationId: tool_create_task
summary: Create a new task in AI Note.
description: Create a new task in AI Note. Supports full task creation with dates, times, location, notes, and notifications.
tags:
- Tasks
x-mcp-annotations:
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
content:
type: string
description: Task content (required)
is_important:
type: boolean
description: 'Mark task as important (default: false)'
due_date:
type: string
description: Due date in ISO format (e.g., '2026-01-28' or '2026-01-28T15:00:00+09:00')
due_time:
type: string
description: Due time in HH:MM format (e.g., '15:00'). If not provided, task is treated as all-day.
start_date:
type: string
description: Start date for date range tasks in ISO format (e.g., for multi-day events)
is_all_day:
type: boolean
description: Mark as all-day event — suppresses time-of-day rendering.
category_id:
type: string
description: Category ID (UUID) to organize the task
notes:
type: string
description: Additional notes or details for the task
location:
type: string
description: Location where the task takes place
location_lat:
type: number
description: GPS latitude. Pair with location_lng.
location_lng:
type: number
description: GPS longitude. Pair with location_lat.
travel_time:
type: number
description: Minutes of travel time to allow before due_date.
has_notification:
type: boolean
description: 'Enable reminder notifications (default: false)'
reminder_timing:
type: integer
description: 'Minutes before due time to send reminder (e.g., 10 for 10 minutes before). Default: 30. Only used when has_notification is true.'
reminder_timings:
type: array
items:
type: integer
description: Multiple reminder offsets in minutes before due time (e.g., [10, 60] fires 10 min and 1 hour before). Overrides reminder_timing if provided.
repeat_rule:
type: string
description: Recurrence rule (e.g., 'daily', 'weekly', 'monthly', 'yearly', or RRULE format)
required:
- content
responses:
'200':
description: Tool executed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ToolSuccessResponse'
'400':
description: Invalid arguments or business-rule violation
content:
application/json:
schema:
$ref: '#/components/schemas/ToolErrorResponse'
'401':
description: Missing or invalid McpKey
/api/mcp/tools/update_task:
post:
operationId: tool_update_task
summary: Update an existing task. All fields are optional except id
description: Update an existing task. All fields are optional except id.
tags:
- Tasks
x-mcp-annotations:
readOnlyHint: false
destructiveHint: false
idempotentHint: true
openWorldHint: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Task ID (required)
content:
type: string
description: New task content
is_important:
type: boolean
description: Update important status
completed_at:
type: string
description: Mark as completed (ISO format) or 'null' to uncomplete
due_date:
type: string
description: Update due date in ISO format (or 'null' to clear)
due_time:
type: string
description: Update due time in HH:MM format (or 'null' to make all-day)
start_date:
type: string
description: Update start date in ISO format (or 'null' to clear)
is_all_day:
type: boolean
description: Toggle all-day mode.
category_id:
type: string
description: Update category ID (or 'null' to remove category)
notes:
type: string
description: Update notes (or 'null' to clear)
location:
type: string
description: Update location (or 'null' to clear)
location_lat:
type: number
description: Update GPS latitude.
location_lng:
type: number
description: Update GPS longitude.
travel_time:
type: number
description: Update travel-time minutes.
has_notification:
type: boolean
description: Enable/disable reminder notifications
reminder_timing:
type: integer
description: Minutes before due time to send reminder (e.g., 10 for 10 minutes before). Only used when has_notification is true.
reminder_timings:
type: array
items:
type: integer
description: Multiple reminder offsets in minutes before due time (e.g., [10, 60]). Pass empty array [] to clear.
repeat_rule:
type: string
description: Update recurrence rule (or 'null' to make non-recurring)
required:
- id
responses:
'200':
description: Tool executed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ToolSuccessResponse'
'400':
description: Invalid arguments or business-rule violation
content:
application/json:
schema:
$ref: '#/components/schemas/ToolErrorResponse'
'401':
description: Missing or invalid McpKey
/api/mcp/tools/delete_task:
post:
operationId: tool_delete_task
summary: Soft-delete a task by ID.
description: Soft-delete a task by ID. Destructive but reversible within 30 days (TaskCleanupJob purges trash daily at 2am KST). Returns 404 if the task does not exist or is not owned by the authenticated user.
tags:
- Tasks
x-mcp-annotations:
readOnlyHint: false
destructiveHint: true
idempotentHint: true
openWorldHint: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Task ID to delete
required:
- id
responses:
'200':
description: Tool executed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ToolSuccessResponse'
'400':
description: Invalid arguments or business-rule violation
content:
application/json:
schema:
$ref: '#/components/schemas/ToolErrorResponse'
'401':
description: Missing or invalid McpKey
/api/mcp/tools/list_categories:
post:
operationId: tool_list_categories
summary: List all task categories for the authenticated user.
description: List all task categories for the authenticated user. Returns id/name/color/icon/task_count tuples. Read-only — use create_task with category_id to assign tasks to a category.
tags:
- Tasks
x-mcp-annotations:
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties: {}
responses:
'200':
description: Tool executed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ToolSuccessResponse'
'400':
description: Invalid arguments or business-rule violation
content:
application/json:
schema:
$ref: '#/components/schemas/ToolErrorResponse'
'401':
description: Missing or invalid McpKey
components:
schemas:
ToolSuccessResponse:
type: object
description: 'Successful tool invocation. `content` mirrors the MCP `tools/call` result shape: an array of content blocks (text and optionally a structured resource payload).'
properties:
content:
type: array
items:
type: object
properties:
type:
type: string
enum:
- text
- resource
text:
type: string
ToolErrorResponse:
type: object
description: Uniform error shape emitted by ainote MCP tool handlers.
properties:
error:
type: object
properties:
code:
type: integer
description: JSON-RPC error code (-32xxx range)
message:
type: string
required:
- code
- message
securitySchemes:
McpKeyAuth:
type: apiKey
in: header
name: Authorization
description: Send `McpKey <YOUR_MCP_KEY>`. Issue an MCP key at /settings/mcp or via `npx @ainote/mcp signup`.
x-ainote-meta:
generator: Api::Mcp::OpenapiController
generated_at: '2026-11-01T14:35:55Z'
tools_count: 56
native_mcp_endpoint: https://api.ainote.dev/api/mcp
agent_compatibility_doc: https://github.com/ainote-dev/ainote-mcp#agent-compatibility