# List cell history

Gets the cell modification history.

> Note: Fetching cell history is resource-intensive and is limited to 30 requests per minute per API token. For details, see Rate limiting.

> Note: For pagination guidance, refer to Pagination.

Endpoint: GET /sheets/{sheetId}/rows/{rowId}/columns/{columnId}/history
Version: 2.0.0
Security: APIToken, OAuth2

## Path parameters:

  - `sheetId` (number, required)
    ID of the sheet being accessed.

  - `rowId` (number, required)
    ID of the sheet row being accessed.

  - `columnId` (number, required)
    ID of the sheet column being accessed.

## Header parameters:

  - `Authorization` (string)
    API Access Token used to authenticate requests to Smartsheet APIs.

  - `smartsheet-integration-source` (string)
    Uses the following metadata to distinguish between human-initiated API requests and third-party service-initiated calls by AI Connectors or ITSM:

- Integration source type
- Organization name
- Integration source name 

Format:


TYPE,OrgName,SourceName


Examples: 

AI,SampleOrg,My-AI-Connector-v2

SCRIPT,SampleOrg2,Accounting-updater-script

APPLICATION,SampleOrg3,SheetUpdater
    Example: "AI,SampleOrg,My-AI-Connector-v2"

## Query parameters:

  - `include` (string)
    A comma-separated list of elements to copy:
  * columnType - includes the columnType attribute for each Cell object
  * objectValue - when used in combination with a level query parameter, includes the email addresses for a multi-contact cell.
    Enum: "columnType", "objectValue"

  - `pageSize` (number)
    The maximum number of items to return per page. Unless otherwise stated for a specific endpoint, defaults to 100. If only page is specified, defaults to a page size of 100. For reports, the default is 100 rows. If you need larger sets of data from your report, returns a maximum of 10,000 rows per request.

  - `page` (number)
    Which page to return. Defaults to 1 if not specified. If you specify a value greater than the total number of pages, the last page of results is returned.

  - `level` (integer)
    Specifies whether object data types, such as multi-contact data are returned in a backwards-compatible, text format in text/number columns.  - Set level=0 (default) to use text/number columns for multi-contact data and multi-picklist data.  - Set level=1 to use multiple-entry contact list columns for multi-contact data; multi-picklist data is returned in text/number columns.  - Set level=2 to use multiple-entry contact list columns for multi-contact data and use multiple-entry picklist columns for multi-picklist data.

## Response 200 fields (application/json):

  - `pageNumber` (number)
    The current page in the full result set that the data array represents. NOTE when a page number greater than totalPages is requested, the last page is instead returned.
    Example: 1

  - `pageSize` (number,null)
    The number of items in a page. Omitted if there is no limit to page size (and hence, all results are included). Unless otherwise specified, this defaults to 100 for most endpoints.
    Example: 50

  - `totalPages` (number)
    The total number of pages in the full result set.
    Example: 25

  - `totalCount` (number)
    The total number of items in the full result set.
    Example: 136

  - `data` (array)
    List of cell history objects

  - `data.modifiedAt` (any)

  - `data.modifiedBy` (object)
    User object containing the name and email of the user that made the change.

  - `data.modifiedBy.email` (string)
    Example: "jane.doe@smartsheet.com"

  - `data.modifiedBy.name` (string)
    Example: "Jane Doe"

  - `data.columnId` (number)
    The ID of the column that the cell is located in.

  - `data.columnType` (string)
    Only returned if the include query string parameter contains columnType.

  - `data.conditionalFormat` (string)
    The format descriptor describing this cell's conditional format. Only returned if the include query string parameter contains format and this cell has a conditional format applied.

  - `data.displayValue` (string)
    Visual representation of cell contents, as presented to the user in the UI.

  - `data.format` (string)
    The format descriptor. Only returned if the include query string parameter contains format and this cell has a non-default format applied.

  - `data.formula` (string)
    The formula for a cell, if set, for instance =COUNTM([Assigned To]3). Note that calculation errors or problems with a formula do not cause the API call to return an error code. Instead, the response contains the same value as in the UI, such as cell.value = "#CIRCULAR REFERENCE".

  - `data.hyperlink` (object)

  - `data.hyperlink.reportId` (number)
    If non-null, this hyperlink is a link to the report with this ID.

  - `data.hyperlink.sheetId` (number)
    If non-null, this hyperlink is a link to the sheet with this ID.

  - `data.hyperlink.sightId` (number)
    If non-null, this hyperlink is a link to the dashboard with this ID.

  - `data.hyperlink.url` (string)
    When the hyperlink is a URL link, this property contains the URL value. When the hyperlink is a dashboard/report/sheet link (that is, dashboardId, reportId, or sheetId is non-null), this property contains the permalink to the dashboard, report, or sheet.

  - `data.image` (object)

  - `data.image.altText` (string)
    Alternate text for the image.

  - `data.image.height` (number)
    Original height (in pixels) of the uploaded image.

  - `data.image.id` (string)
    Image ID.

  - `data.image.width` (number)
    Original width (in pixels) of the uploaded image.

  - `data.linkInFromCell` (object)

  - `data.linkInFromCell.columnId` (number)
    Column ID of the linked cell.

  - `data.linkInFromCell.rowId` (number)
    Row ID of the linked cell.

  - `data.linkInFromCell.sheetId` (number)
    Sheet ID of the sheet that the linked cell belongs to.

  - `data.linkInFromCell.sheetName` (string)
    Sheet name of the linked cell.

  - `data.linkInFromCell.status` (string)
    * BLOCKED One of several other values indicating unusual error conditions.
* BROKEN The row or sheet linked to was deleted.
* CIRCULAR One of several other values indicating unusual error conditions.
* DISABLED One of several other values indicating unusual error conditions.
* INACCESSIBLE The sheet linked to cannot be viewed by this user.
* INVALID One of several other values indicating unusual error conditions.
* NOT_SHARED One of several other values indicating unusual error conditions.
* OK The link is in a good state.
    Enum: "BLOCKED", "BROKEN", "CIRCULAR", "DISABLED", "INACCESSIBLE", "INVALID", "NOT_SHARED", "OK"

  - `data.linksOutToCells` (array)

  - `data.linksOutToCells.columnId` (number)
    Column ID of the linked cell.

  - `data.linksOutToCells.rowId` (number)
    Row ID of the linked cell.

  - `data.linksOutToCells.sheetId` (number)
    Sheet ID of the sheet that the linked cell belongs to.

  - `data.linksOutToCells.sheetName` (string)
    Sheet name of the linked cell.

  - `data.linksOutToCells.status` (string)
    * BLOCKED One of several other values indicating unusual error conditions.
* BROKEN The row or sheet linked to was deleted.
* CIRCULAR One of several other values indicating unusual error conditions.
* DISABLED One of several other values indicating unusual error conditions.
* INACCESSIBLE The sheet linked to cannot be viewed by this user.
* INVALID One of several other values indicating unusual error conditions.
* NOT_SHARED One of several other values indicating unusual error conditions.
* OK The link is in a good state.
    Enum: "BLOCKED", "BROKEN", "CIRCULAR", "DISABLED", "INACCESSIBLE", "INVALID", "NOT_SHARED", "OK"

  - `data.objectValue` (any)

  - `data.overrideValidation` (boolean)
    (Admin only) Indicates whether the cell value can contain a value outside of the validation limits (value = true). When using this parameter, you must also set strict to false to bypass value type checking. This property is honored for POST or PUT actions that update rows.

  - `data.strict` (boolean)
    Set to false to enable lenient parsing. Defaults to true. You can specify this attribute in a request, but it is never present in a response.

  - `data.value` (any)
    A string, number, or a Boolean value -- depending on the cell type and the data in the cell. Cell values larger than 4000 characters are silently truncated. An empty cell returns no value.

## Response default fields (application/json):

  - `refId` (string)
    The ID of the specific error occurrence. Please include this information when contacting Smartsheet support.

  - `errorCode` (number)
    Custom error code from Smartsheet. See the complete [Error Code List](/api/smartsheet/error-codes).

  - `message` (string)
    Descriptive error message.


