---
title: "List cell history"
method: GET
path: "/sheets/{sheetId}/rows/{rowId}/columns/{columnId}/history"
tags: ["cells"]
---

# List cell history

`GET /sheets/{sheetId}/rows/{rowId}/columns/{columnId}/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](/api/smartsheet/guides/advanced-topics/scalability-options#rate-limiting).

> **Note:** For pagination guidance, refer to [Pagination](/api/smartsheet/guides/basics/pagination).

## Query parameters

- `include` 'columnType' | 'objectValue'
- `pageSize` number
- `page` number
- `level` integer

## Response `200`

OK.

**Note:** For pagination guidance, refer to [Pagination](/api/smartsheet/guides/basics/pagination).

- object
  - `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.
  - `pageSize` number, nullable — 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.
  - `totalPages` number — The total number of pages in the full result set.
  - `totalCount` number — The total number of items in the full result set.
  - `data` CellHistory[] — List of cell history objects
    - `columnId` number — The ID of the column that the cell is located in.
    - `columnType` string — Only returned if the include query string parameter contains **columnType**.
    - `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.
    - `displayValue` string — Visual representation of cell contents, as presented to the user in the UI.
    - `format` string — The format descriptor. Only returned if the include query string parameter contains **format** and this cell has a non-default format applied.
    - `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"**.
    - `hyperlink` Hyperlink
      - `reportId` number — If non-null, this hyperlink is a link to the report with this ID.
      - `sheetId` number — If non-null, this hyperlink is a link to the sheet with this ID.
      - `sightId` number — If non-null, this hyperlink is a link to the dashboard with this ID.
      - `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.
    - `image` Image
      - `altText` string — Alternate text for the image.
      - `height` number — Original height (in pixels) of the uploaded image.
      - `id` string — Image ID.
      - `width` number — Original width (in pixels) of the uploaded image.
    - `linkInFromCell` CellLink
      - `columnId` number — Column ID of the linked cell.
      - `rowId` number — Row ID of the linked cell.
      - `sheetId` number — Sheet ID of the sheet that the linked cell belongs to.
      - `sheetName` string — Sheet name of the linked cell.
      - `status` 'BLOCKED' | 'BROKEN' | 'CIRCULAR' | 'DISABLED' | 'INACCESSIBLE' | 'INVALID' | 'NOT_SHARED' | 'OK' — * `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.
    - `linksOutToCells` CellLink[]
      - `columnId` number — Column ID of the linked cell.
      - `rowId` number — Row ID of the linked cell.
      - `sheetId` number — Sheet ID of the sheet that the linked cell belongs to.
      - `sheetName` string — Sheet name of the linked cell.
      - `status` 'BLOCKED' | 'BROKEN' | 'CIRCULAR' | 'DISABLED' | 'INACCESSIBLE' | 'INVALID' | 'NOT_SHARED' | 'OK' — * `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.
    - `objectValue` union
      - string
      - number
      - boolean
      - AbstractDatetimeObjectValue — Object representing a calculated datetime
        - `objectType` 'ABSTRACT_DATETIME'
        - `value` string, date-time — Datetime, in the **date-time** format defined by <a href="https://tools.ietf.org/html/rfc3339#section-5.6" target="_blank" rel="noopener noreferrer">RFC 3339, section 5.6</a>
      - ContactObjectValue — Object containing a Contact
        - `objectType` 'CONTACT'
        - `email` string, email — Email address of the Contact
        - `name` string — Name of the Contact
        - `imageId` string — ID of an image associated with the Contact
        - `emailId` string — ID of the email address
        - `userId` string — User ID of the contact
        - `lookUpName` boolean — Whether or not to look up the contact's name based on their email address.
      - DateObjectValue — Object representing a date
        - `objectType` 'DATE'
        - `value` string, date — Date in the **full-date** format defined by <a href="https://tools.ietf.org/html/rfc3339#section-5.6" target="_blank" rel="noopener noreferrer">RFC 3339, section 5.6</a>
      - DatetimeObjectValue — Object representing a datetime
        - `objectType` 'DATETIME'
        - `value` string, date-time — Datetime, in the **date-time** format defined by <a href="https://tools.ietf.org/html/rfc3339#section-5.6" target="_blank" rel="noopener noreferrer">RFC 3339, section 5.6</a>
      - DurationObjectValue — Object representing a duration in days
        - `objectType` 'DURATION'
        - `days` number, float — Number of days
      - MultiContactObjectValue — Object containing a list of contacts
        - `objectType` 'MULTI_CONTACT'
        - `value` ContactObjectValue[] — List of Contacts
          - `objectType` 'CONTACT'
          - `email` string, email — Email address of the Contact
          - `name` string — Name of the Contact
          - `imageId` string — ID of an image associated with the Contact
          - `emailId` string — ID of the email address
          - `userId` string — User ID of the contact
          - `lookUpName` boolean — Whether or not to look up the contact's name based on their email address.
      - MultiPicklistObjectValue — Object containing a list of strings to choose from
        - `objectType` 'MULTI_PICKLIST'
        - `values` string[] — List of strings to choose from
      - PredecessorList — Object containing a list of references to rows on which the current row depends
        - `objectType` 'PREDECESSOR_LIST'
        - `predecessors` Predecessor[] — List of references to rows on which the current row depends
          - `rowId` number — The ID of the predecessor row.
          - `type` 'FF' | 'FS' | 'SF' | 'SS' — Type of the predecessor: * FF (Finish-to-Finish) - finish at the same time the predecessor finishes. * FS (Finish-to-Start) - start after the predecessor finishes. * SF (Start-to-Finish) - finish before the predecessor starts. * SS (Start-to-Start) - start at the same time the predecessor starts.
          - `inCriticalPath` boolean — True if this predecessor is in the critical path.
          - `invalid` boolean — True if the row referenced by rowId is not a valid row in this sheet, or there is a circular reference (displayed in the Smartsheet app as "#REF") Omitted if false.
          - `lag` Duration — In a project sheet, represents a value in a duration cell, or a lag value of a predecessor.
            - `days` number — The number of days for this duration.
            - `elapsed` boolean — If true, indicates this duration represents elapsed time, which ignores non-working time.
            - `hours` number — The number of hours for this duration.
            - `milliseconds` number — The number of milliseconds for this duration.
            - `minutes` number — The number of minutes for this duration.
            - `negative` boolean — When used as a predecessor's lag value, indicates whether the lag is negative (if true), or positive (false). The individual duration values themselves (for example, days, hours, or minutes) is always positive.
            - `objectType` 'DURATION'
            - `seconds` number — The number of seconds for this duration.
            - `weeks` number — The number of weeks for this duration.
          - `rowNumber` number — The row number of the predecessor row. Omitted if invalid is true.
    - `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.
    - `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.
    - `value` union — 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.
      - string
      - number
      - boolean

## Other responses

- `default` — Generic Error Payload

---

[API](https://skmtc.dev/smartsheet/apis/smartsheet-openapi-reference.md) · [All operations](https://skmtc.dev/smartsheet/apis/smartsheet-openapi-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/smartsheet/smartsheet-openapi-reference/revisions/5dedc4bd492c/schema)
