GuidesCard corners

Card corners

Use style.cornerRadii for a card's corners. Send all four non-negative values in board pixels: topLeft, topRight, bottomRight and bottomLeft. For uniform corners, send the same value four times.

Set corners

Read the board with ListCards to get the card's identity, then send this mutation with its board id, asset type and asset id. This example rounds the top corners to 24 pixels and keeps the bottom corners square.

mutation SetCardCorners($boardId: ID!, $assetType: String!, $assetId: String!) {
  updateCanvasCards(input: {
    boardId: $boardId
    requireExisting: true
    cards: [{
      assetType: $assetType
      assetId: $assetId
      style: {
        cornerRadii: { topLeft: 24, topRight: 24, bottomRight: 0, bottomLeft: 0 }
      }
    }]
  }) {
    success
    rowsAffected
  }
}

MCP clients use ArrangeCards with the same card entry in cards. After placing an asset with PlaceCards, use ArrangeCards to set its corners. API clients can also supply style.cornerRadii when creating cards.

Read and reset

  • Read style.cornerRadii { topLeft topRight bottomRight bottomLeft }. This includes uniform values saved by older clients. ListCards already selects these fields.
  • Omit cornerRadii when updating other properties to preserve the current corners.
  • Send style: { cornerRadii: null } to clear all explicit card corner settings and restore the card's default corners. A null read means there is no explicit override; it does not necessarily mean square corners.
  • Send four zeroes when you explicitly want square corners.

Migrating from cornerRadius

CanvasCardStyle.cornerRadius and CanvasCardStyleInput.cornerRadius are deprecated and remain accepted for existing integrations. Replace a scalar write such as cornerRadius: 12 with the following, and switch reads to cornerRadii so independent corners are represented correctly:

{
  "style": {
    "cornerRadii": {
      "topLeft": 12,
      "topRight": 12,
      "bottomRight": 12,
      "bottomLeft": 12
    }
  }
}
  • Send only cornerRadii in new integrations. When both fields are sent, a non-null cornerRadii takes precedence. For existing integrations, cornerRadius: 12 together with cornerRadii: null still sets uniform 12-pixel corners.
  • A legacy cornerRadius-only update still sets all four corners uniformly, replacing any previous independent corners. A legacy null resets the corners.
  • The legacy scalar read does not describe independent corners. Use cornerRadii as the source of truth.

This migration applies to card style only. A shape's shape.cornerRadius and radii of elements inside an artboard are separate settings with their own units and remain unchanged.