ainote Tasks API

The tasks API from ainote — 5 operation(s) for tasks.

Operations 5

POST /api/mcp/tools/list_tasks List all tasks from AI Note with advanced filtering, date ranges, location… #
POST /api/mcp/tools/create_task Create a new task in AI Note. #
POST /api/mcp/tools/update_task Update an existing task. All fields are optional except id #
POST /api/mcp/tools/delete_task Soft-delete a task by ID. #
POST /api/mcp/tools/list_categories List all task categories for the authenticated user. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ainote-dev:ainote-dev-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

ainote-dev-tasks-api-openapi.yml Raw ↑
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