craaft · Schema

BoardActivity

One board activity feed entry. `fromValue` / `toValue` depend on the type: column keys for `moved` (`fromName` / `toName` are the column titles, omitted for a column since deleted), `:` for `moved_board` (named as in CardEvent, recorded on both boards, and omitted along with the names for a board the caller can't access), priorities for `priority`, user ids for `assignee` (`fromName` / `toName` are names), and column titles for the column types. `cardId` is present only while the card is still on this board; `cardTitle` is its current title then, and the title it had when the change happened once it has gone. For `comment`, `excerpt` is the first 140 characters while the comment and card exist, and `commentDeleted` is true once the comment is gone. Clients should ignore types they don't recognise.

CompanyTask ManagementKanbanProject ManagementProductivityAI AgentsMCPREST APICollaboration

Properties

Name Type Description
id string
type string
fromValue stringnull
toValue stringnull
fromName stringnull
toName stringnull
fromDetail stringnull moved_board only: source column title
toDetail stringnull moved_board only: target column title
actorId stringnull
actorName stringnull Omitted when the user has been deleted
cardId stringnull
cardTitle stringnull
cardArchived boolean The card is on this board but archived
excerpt stringnull
commentDeleted boolean
createdAt string
View JSON Schema on GitHub

JSON Schema

craaft-io-board-activity-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/craaft-io/json-schema/craaft-io-board-activity-schema.json",
  "title": "BoardActivity",
  "description": "One board activity feed entry. `fromValue` / `toValue` depend on the\ntype: column keys for `moved` (`fromName` / `toName` are the column\ntitles, omitted for a column since deleted), `<project id>:<column\nkey>` for `moved_board` (named as in CardEvent, recorded on both\nboards, and omitted along with the names for a board the caller can't\naccess), priorities for `priority`, user ids for `assignee`\n(`fromName` / `toName` are names), and column titles for the column\ntypes. `cardId` is present only while the card is still on this\nboard; `cardTitle` is its current title then, and the title it had\nwhen the change happened once it has gone. For `comment`, `excerpt`\nis the first 140 characters while the comment and card exist, and\n`commentDeleted` is true once the comment is gone. Clients should\nignore types they don't recognise.\n",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/craaft-io-openapi.yml#/components/schemas/BoardActivity",
  "type": "object",
  "required": [
    "id",
    "type",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "type": {
      "type": "string",
      "enum": [
        "card_created",
        "card_archived",
        "card_restored",
        "card_deleted",
        "moved",
        "moved_board",
        "priority",
        "assignee",
        "comment",
        "column_created",
        "column_renamed",
        "column_deleted"
      ]
    },
    "fromValue": {
      "type": [
        "string",
        "null"
      ]
    },
    "toValue": {
      "type": [
        "string",
        "null"
      ]
    },
    "fromName": {
      "type": [
        "string",
        "null"
      ]
    },
    "toName": {
      "type": [
        "string",
        "null"
      ]
    },
    "fromDetail": {
      "type": [
        "string",
        "null"
      ],
      "description": "moved_board only: source column title"
    },
    "toDetail": {
      "type": [
        "string",
        "null"
      ],
      "description": "moved_board only: target column title"
    },
    "actorId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "actorName": {
      "type": [
        "string",
        "null"
      ],
      "description": "Omitted when the user has been deleted"
    },
    "cardId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "cardTitle": {
      "type": [
        "string",
        "null"
      ]
    },
    "cardArchived": {
      "type": "boolean",
      "description": "The card is on this board but archived"
    },
    "excerpt": {
      "type": [
        "string",
        "null"
      ]
    },
    "commentDeleted": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}

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/craaft-io-board-activity"
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.