Capacities · Schema

WritableApiBlock

Block for append or update. Omit `id` when creating new blocks.

Knowledge ManagementNote TakingProductivityCross-PlatformCollaboration
View JSON Schema on GitHub

JSON Schema

capacities-io-writable-api-block-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/capacities-io/json-schema/capacities-io-writable-api-block-schema.json",
  "title": "WritableApiBlock",
  "description": "Block for append or update. Omit `id` when creating new blocks.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/capacities-io-openapi.json#/components/schemas/WritableApiBlock",
  "oneOf": [
    {
      "$ref": "#/$defs/WritableApiTextBlock"
    },
    {
      "$ref": "#/$defs/WritableApiGroupBlock"
    },
    {
      "$ref": "#/$defs/WritableApiGridBlock"
    },
    {
      "$ref": "#/$defs/WritableApiCodeBlock"
    },
    {
      "$ref": "#/$defs/WritableApiMathBlock"
    },
    {
      "$ref": "#/$defs/WritableApiEntityBlock"
    },
    {
      "$ref": "#/$defs/WritableApiHorizontalLineBlock"
    }
  ],
  "type": "object",
  "$defs": {
    "ApiCodeToken": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "CodeToken"
          ]
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "text"
      ],
      "description": "Inline code span."
    },
    "ApiMathToken": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "MathToken"
          ]
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "text"
      ],
      "description": "Inline math (LaTeX)."
    },
    "ApiTextToken": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "TextToken"
          ]
        },
        "text": {
          "type": "string"
        },
        "style": {
          "type": "object",
          "properties": {
            "bold": {
              "type": "boolean"
            },
            "italic": {
              "type": "boolean"
            },
            "strikethrough": {
              "type": "boolean"
            },
            "underline": {
              "type": "boolean"
            }
          }
        },
        "color": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "text-gray",
                "text-rose",
                "text-pink",
                "text-fuchsia",
                "text-purple",
                "text-violet",
                "text-indigo",
                "text-blue",
                "text-sky",
                "text-cyan",
                "text-teal",
                "text-emerald",
                "text-green",
                "text-lime",
                "text-yellow",
                "text-amber",
                "text-orange",
                "text-red"
              ]
            },
            {
              "type": "string",
              "enum": [
                "bg-gray",
                "bg-rose",
                "bg-pink",
                "bg-fuchsia",
                "bg-purple",
                "bg-violet",
                "bg-indigo",
                "bg-blue",
                "bg-sky",
                "bg-cyan",
                "bg-teal",
                "bg-emerald",
                "bg-green",
                "bg-lime",
                "bg-yellow",
                "bg-amber",
                "bg-orange",
                "bg-red"
              ]
            }
          ]
        }
      },
      "required": [
        "type",
        "text",
        "style"
      ],
      "description": "Plain text with optional bold, italic, strikethrough, underline, and color."
    },
    "WritableApiBlock": {
      "description": "Block for append or update. Omit `id` when creating new blocks.",
      "oneOf": [
        {
          "$ref": "#/$defs/WritableApiTextBlock"
        },
        {
          "$ref": "#/$defs/WritableApiGroupBlock"
        },
        {
          "$ref": "#/$defs/WritableApiGridBlock"
        },
        {
          "$ref": "#/$defs/WritableApiCodeBlock"
        },
        {
          "$ref": "#/$defs/WritableApiMathBlock"
        },
        {
          "$ref": "#/$defs/WritableApiEntityBlock"
        },
        {
          "$ref": "#/$defs/WritableApiHorizontalLineBlock"
        }
      ],
      "type": "object"
    },
    "WritableApiCodeBlock": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "CodeBlock"
          ]
        },
        "lang": {
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "lang",
        "text"
      ],
      "description": "Fenced code block with language and source text."
    },
    "WritableApiCustomHighlight": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "custom"
          ]
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "maxLength": 20,
          "description": "Display label for the custom highlight (max 20 characters)."
        },
        "location": {
          "description": "Optional location text shown below the highlighted block (max 20 characters).",
          "type": "string",
          "maxLength": 20
        },
        "url": {
          "description": "Optional source URL for the custom highlight.",
          "type": "string"
        },
        "color": {
          "description": "Highlight color stored as annotation metadata.",
          "type": "string",
          "enum": [
            "yellow",
            "orange",
            "green",
            "red",
            "purple",
            "blue"
          ]
        }
      },
      "required": [
        "type",
        "label"
      ],
      "description": "Custom user-defined highlight with a required label and optional location."
    },
    "WritableApiDatePayload": {
      "type": "object",
      "properties": {
        "dateResolution": {
          "description": "`day` or `time` (defaults to `day` for link-token dates).",
          "type": "string",
          "enum": [
            "time",
            "day"
          ]
        },
        "start": {
          "description": "ISO 8601 start. For `dateResolution: \"day\"` the calendar day: \"YYYY-MM-DD\" or ISO UTC midnight (e.g. \"2026-08-07\" or \"2026-08-07T00:00:00.000Z\"). For `dateResolution: \"time\"` a full ISO 8601 datetime (e.g. \"2026-08-07T15:30:00.000Z\"). Pass `null` to clear the date.",
          "type": [
            "string",
            "null"
          ]
        },
        "end": {
          "description": "ISO 8601 end, if any (same formats as start). Cleared together with `start` when removing the date.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "start"
      ],
      "description": "Date value when writing."
    },
    "WritableApiEntityBlock": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "EntityBlock"
          ]
        },
        "entityId": {
          "type": [
            "string",
            "null"
          ]
        },
        "date": {
          "allOf": [
            {
              "$ref": "#/$defs/WritableApiDatePayload"
            }
          ]
        }
      },
      "required": [
        "type",
        "entityId"
      ],
      "description": "Embedded Capacities object reference, or null when empty."
    },
    "WritableApiGridBlock": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "GridBlock"
          ]
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WritableApiBlock"
            }
          }
        },
        "dividers": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "gridLayout": {
          "type": "string",
          "enum": [
            "columns",
            "grid"
          ]
        },
        "colorTheme": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "text-gray",
                "text-rose",
                "text-pink",
                "text-fuchsia",
                "text-purple",
                "text-violet",
                "text-indigo",
                "text-blue",
                "text-sky",
                "text-cyan",
                "text-teal",
                "text-emerald",
                "text-green",
                "text-lime",
                "text-yellow",
                "text-amber",
                "text-orange",
                "text-red"
              ]
            },
            {
              "type": "string",
              "enum": [
                "bg-gray",
                "bg-rose",
                "bg-pink",
                "bg-fuchsia",
                "bg-purple",
                "bg-violet",
                "bg-indigo",
                "bg-blue",
                "bg-sky",
                "bg-cyan",
                "bg-teal",
                "bg-emerald",
                "bg-green",
                "bg-lime",
                "bg-yellow",
                "bg-amber",
                "bg-orange",
                "bg-red"
              ]
            }
          ]
        }
      },
      "required": [
        "type",
        "dividers"
      ],
      "description": "Grid layout block. When `columns` is provided it must include at least two column arrays. Use `gridLayout: \"grid\"` for grid mode or `\"columns\"` for column mode."
    },
    "WritableApiGroupBlock": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "GroupBlock"
          ]
        },
        "blocks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/WritableApiBlock"
          }
        },
        "list": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "bullet",
                "alphabetical",
                "numerical",
                "roman"
              ]
            }
          },
          "required": [
            "type"
          ]
        },
        "todo": {
          "type": "object",
          "properties": {
            "isDone": {
              "type": "boolean"
            }
          },
          "required": [
            "isDone"
          ]
        },
        "toggle": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "isOpen": {
              "type": "boolean"
            }
          },
          "required": [
            "isOpen"
          ]
        },
        "textAlignment": {
          "type": "string",
          "enum": [
            "left",
            "center",
            "right"
          ]
        },
        "colorTheme": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "text-gray",
                "text-rose",
                "text-pink",
                "text-fuchsia",
                "text-purple",
                "text-violet",
                "text-indigo",
                "text-blue",
                "text-sky",
                "text-cyan",
                "text-teal",
                "text-emerald",
                "text-green",
                "text-lime",
                "text-yellow",
                "text-amber",
                "text-orange",
                "text-red"
              ]
            },
            {
              "type": "string",
              "enum": [
                "bg-gray",
                "bg-rose",
                "bg-pink",
                "bg-fuchsia",
                "bg-purple",
                "bg-violet",
                "bg-indigo",
                "bg-blue",
                "bg-sky",
                "bg-cyan",
                "bg-teal",
                "bg-emerald",
                "bg-green",
                "bg-lime",
                "bg-yellow",
                "bg-amber",
                "bg-orange",
                "bg-red"
              ]
            }
          ]
        }
      },
      "required": [
        "type"
      ],
      "description": "Container block that groups nested blocks."
    },
    "WritableApiHighlight": {
      "oneOf": [
        {
          "$ref": "#/$defs/WritableApiWebhighlightsHighlight"
        },
        {
          "$ref": "#/$defs/WritableApiCustomHighlight"
        }
      ],
      "description": "Highlight annotation to attach to a text block. Allowed types: 'custom' (available to all callers) and 'webhighlights' (restricted to the authorized WebHighlights OAuth client).",
      "type": "object"
    },
    "WritableApiHorizontalLineBlock": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "HorizontalLineBlock"
          ]
        }
      },
      "required": [
        "type"
      ],
      "description": "Horizontal divider line."
    },
    "WritableApiLinkToken": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "LinkToken"
          ]
        },
        "text": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "entityId": {
          "description": "Referenced object id when the link targets a Capacities object.",
          "type": "string"
        },
        "date": {
          "description": "Date value; creates or updates a linked UtilDate object.",
          "allOf": [
            {
              "$ref": "#/$defs/WritableApiDatePayload"
            }
          ]
        }
      },
      "required": [
        "type",
        "text"
      ],
      "description": "Writable hyperlink — exactly one target: URL, entity id, or date."
    },
    "WritableApiMathBlock": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "MathBlock"
          ]
        },
        "text": {
          "type": "string"
        },
        "colorTheme": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "text-gray",
                "text-rose",
                "text-pink",
                "text-fuchsia",
                "text-purple",
                "text-violet",
                "text-indigo",
                "text-blue",
                "text-sky",
                "text-cyan",
                "text-teal",
                "text-emerald",
                "text-green",
                "text-lime",
                "text-yellow",
                "text-amber",
                "text-orange",
                "text-red"
              ]
            },
            {
              "type": "string",
              "enum": [
                "bg-gray",
                "bg-rose",
                "bg-pink",
                "bg-fuchsia",
                "bg-purple",
                "bg-violet",
                "bg-indigo",
                "bg-blue",
                "bg-sky",
                "bg-cyan",
                "bg-teal",
                "bg-emerald",
                "bg-green",
                "bg-lime",
                "bg-yellow",
                "bg-amber",
                "bg-orange",
                "bg-red"
              ]
            }
          ]
        }
      },
      "required": [
        "type",
        "text"
      ],
      "description": "Display math block (LaTeX)."
    },
    "WritableApiTextBlock": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "TextBlock"
          ]
        },
        "tokens": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/WritableApiToken"
          }
        },
        "blocks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/WritableApiBlock"
          }
        },
        "hierarchy": {
          "type": "object",
          "properties": {
            "key": {
              "type": "string"
            },
            "val": {
              "type": "number"
            }
          },
          "required": [
            "key",
            "val"
          ]
        },
        "list": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "bullet",
                "alphabetical",
                "numerical",
                "roman"
              ]
            }
          },
          "required": [
            "type"
          ]
        },
        "todo": {
          "type": "object",
          "properties": {
            "isDone": {
              "type": "boolean"
            }
          },
          "required": [
            "isDone"
          ]
        },
        "toggle": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "isOpen": {
              "type": "boolean"
            }
          },
          "required": [
            "isOpen"
          ]
        },
        "quote": {
          "type": "object",
          "properties": {
            "layout": {
              "type": "string",
              "enum": [
                "normal",
                "standout"
              ]
            }
          },
          "required": [
            "layout"
          ]
        },
        "textAlignment": {
          "type": "string",
          "enum": [
            "left",
            "center",
            "right"
          ]
        },
        "colorTheme": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "text-gray",
                "text-rose",
                "text-pink",
                "text-fuchsia",
                "text-purple",
                "text-violet",
                "text-indigo",
                "text-blue",
                "text-sky",
                "text-cyan",
                "text-teal",
                "text-emerald",
                "text-green",
                "text-lime",
                "text-yellow",
                "text-amber",
                "text-orange",
                "text-red"
              ]
            },
            {
              "type": "string",
              "enum": [
                "bg-gray",
                "bg-rose",
                "bg-pink",
                "bg-fuchsia",
                "bg-purple",
                "bg-violet",
                "bg-indigo",
                "bg-blue",
                "bg-sky",
                "bg-cyan",
                "bg-teal",
                "bg-emerald",
                "bg-green",
                "bg-lime",
                "bg-yellow",
                "bg-amber",
                "bg-orange",
                "bg-red"
              ]
            }
          ]
        },
        "highlight": {
          "description": "Highlight annotation to attach.",
          "allOf": [
            {
              "$ref": "#/$defs/WritableApiHighlight"
            }
          ]
        }
      },
      "required": [
        "type"
      ],
      "description": "Paragraph or heading with inline tokens and optional nested blocks."
    },
    "WritableApiToken": {
      "oneOf": [
        {
          "$ref": "#/$defs/ApiTextToken"
        },
        {
          "$ref": "#/$defs/WritableApiLinkToken"
        },
        {
          "$ref": "#/$defs/ApiMathToken"
        },
        {
          "$ref": "#/$defs/ApiCodeToken"
        }
      ],
      "description": "Inline token for append or block update.",
      "type": "object"
    },
    "WritableApiWebhighlightsHighlight": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "webhighlights"
          ]
        },
        "url": {
          "description": "Source URL of the web highlight.",
          "type": "string"
        },
        "color": {
          "description": "Highlight color stored as annotation metadata.",
          "type": "string",
          "enum": [
            "yellow",
            "orange",
            "green",
            "red",
            "purple",
            "blue"
          ]
        }
      },
      "required": [
        "type"
      ],
      "description": "Web highlight from the WebHighlights browser extension. **Restricted**: only requests authenticated via the authorized WebHighlights OAuth client are permitted to create highlights of this type. All other callers will receive a 400 error."
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/capacities-io-writable-api-block"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.