Skip to main content

table.apply_edits

Write a batch of cell edits to a board

Request
POST/api/v1/boards/{boardId}/table/edits
Scope required
applications:write
Effect
Changes data. Send an Idempotency-Key if you might retry it.
Acts on
Acts on the account’s own job search.
MCP tool
table_apply_edits
Environment
Live and sandbox alike.
Request body
JSON.

What it does

Applies up to 500 cell edits in one transaction: every edit lands, or none of them do. Each edit names an application, a column and the new value; send `null` to clear an optional column. Enum columns take the public spelling the rest of the API uses, for example `status: "interviewing"`. The three read-only columns — `interviewCount`, `createdAt` and `updatedAt` — are refused, and so is an edit naming an application that is not on the board in the path. A rejected edit is reported with its position in the batch as `edits[n]`, so fix that one and send the batch again. Read the rows first with `table.list_rows`.

Parameters

Parameters this endpoint accepts, where each one goes, and whether it is required
NameSent inRequirementAccepts
boardIdpathRequiredstring

Request body

edits
array of object, required
applicationId
string, required
field
string, required
value
string or number or null, required

Response

appliedCount
integer, required

Examples

Move one card to Interviewing and note why

Move one card to Interviewing and note why — request
curl -s -X POST https://www.jobapplicationtracking.com/api/v1/boards/brd_7/table/edits \
  -H "Authorization: Bearer $JAT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "edits": [
    {
      "applicationId": "app_123",
      "field": "status",
      "value": "interviewing"
    },
    {
      "applicationId": "app_123",
      "field": "notes",
      "value": "Screen booked"
    }
  ]
}'
Move one card to Interviewing and note why — response
{
  "appliedCount": 2
}

Related operations