Improved

2026-04-07

Affected Endpoints

MethodEndpoint
POST/api/v3/projects
POST/api/v3/projects/:project_id/attachments
PATCH/api/v3/projects/:project_id/attachments/:id
POST/api/v3/projects/:project_id/attachments/batch
POST/api/v3/projects/:project_id/sheet_uploads
PATCH/api/v3/projects/:project_id/sheet_uploads/:id
POST/api/v3/projects/:project_id/sheet_uploads/batch
POST/api/v3/projects/:project_id/tasks
PATCH/api/v3/projects/:project_id/tasks/:id
POST/api/v3/projects/:project_id/tasks/:task_id/task_attributes
PATCH/api/v3/projects/:project_id/tasks/:task_id/task_attributes/:id
PATCH/api/v3/projects/:project_id/task_attributes/:id
POST/api/v3/projects/:project_id/tasks/:task_id/bubbles
PATCH/api/v3/projects/:project_id/bubbles/:id

Breaking Changes

⚠️

The changes below apply to all requests using API version 2026-04-07 or later. Clients pinned to earlier versions are unaffected.

All affected endpoints

  • Unknown fields are rejected. Request bodies containing unrecognized fields will return a validation error. Clients must remove any extra fields before upgrading.
  • Validation error messages are now standardized. All affected endpoints return errors in a consistent format:
{
  "errors": [
    "Invalid parameters: {:folder_id=>[\"is in invalid format\"]}"
  ]
}

Batch endpoints only

Applies to:

  • POST /api/v3/projects/:project_id/attachments/batch
  • POST /api/v3/projects/:project_id/sheet_uploads/batch

unique_id is now a required field on each batch item. This identifier is used solely to correlate items with their validation errors in the response — it is not stored or used beyond the scope of the request. It can be any string, but must be unique within a single request.

Example batch item:

{
  "unique_id": "item-001",
  // ...
}