# Add image to cell Uploads an image to the specified cell within a sheet. Endpoint: POST /sheets/{sheetId}/rows/{rowId}/columns/{columnId}/cellimages 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" - `Content-Type` (string) Required for POST and PUT requests. Defines the structure for the request body. - `Content-Disposition` (string) Should be equal to "attachment" to tell the API that a file is in the body of the POST request, followed by a semicolon, followed by filename= and the URL-encoded filename in quotes Example: "attachment; filename=\"ProgressReport.docx\"" - `Content-Length` (integer) Must be set to the size of the file, in bytes. For example to determine file size using in UNIX: $ ls -l ProgressReport.docx 5463 ProgressReport.docx Example: 5463 ## Query parameters: - `altText` (string) Url-encoded alternate text for the image - `overrideValidation` (boolean) You may use the query string parameter overrideValidation with a value of true to allow a cell value outside of the validation limits. You must specify strict with a value of false to bypass value type checking. ## Response 200 fields (application/json): - `version` (number,null) New version of the sheet. Applicable only for operations which update sheet data. - `failedItems` (array,null) Array of BulkItemFailure objects which represents the items that failed to be added or updated. See [Bulk operations > Partial success](/api/smartsheet/guides/advanced-topics/scalability-options) for more information. Applicable only for bulk operations that support partial success. - `failedItems.rowId` (number,null) The ID of the row that failed. Applicable only to bulk row operations. - `failedItems.error` (object) The error caused by the failed item. - `failedItems.error.refId` (string) The ID of the specific error occurrence. Please include this information when contacting Smartsheet support. - `failedItems.error.errorCode` (number) Custom error code from Smartsheet. See the complete [Error Code List](/api/smartsheet/error-codes). - `failedItems.error.message` (string) Descriptive error message. - `failedItems.index` (number) The index of the failed item in the bulk request array. - `message` (string) Message that indicates the outcome of the request. (One of SUCCESS or PARTIAL_SUCCESS.) Enum: "PARTIAL_SUCCESS", "SUCCESS" - `resultCode` (number) * '0' Success * '3' Partial Success of Bulk Operation Enum: 0, 3 - `result` (object) - `result.id` (number) Row ID. - `result.sheetId` (number) Parent sheet ID. - `result.siblingId` (number) Sibling ID. - `result.accessLevel` (string) Enum: "ADMIN", "COMMENTER", "EDITOR", "EDITOR_SHARE", "OWNER", "VIEWER" - `result.attachments` (array) Attachments on row. Only returned if the include query string parameter contains attachments. - `result.attachments.id` (number) Attachment ID. - `result.attachments.parentId` (number) The ID of the parent. - `result.attachments.attachmentType` (string) Attachment type. Note--Dropbox, Egnyte, and Evernote are not supported for Smartsheet.gov accounts. Enum: "BOX_COM", "DROPBOX", "EGNYTE", "EVERNOTE", "FILE", "GOOGLE_DRIVE", "LINK", "ONEDRIVE", "TRELLO" - `result.attachments.attachmentSubType` (string) Attachment sub type. Note--Folder type is for EGNYTE values and the rest are GOOGLE_DRIVE values. Enum: "DOCUMENT", "DRAWING", "FOLDER", "PDF", "PRESENTATION", "SPREADSHEET" - `result.attachments.mimeType` (string) Attachment MIME type. Example: "PNG" - `result.attachments.parentType` (string) The type of object the attachment belongs to. Enum: "COMMENT", "PROOF", "ROW", "SHEET" - `result.attachments.createdAt` (any) - `result.attachments.createdBy` (object) User object containing name and email of the user who created this attachment. - `result.attachments.createdBy.email` (string) Example: "jane.doe@smartsheet.com" - `result.attachments.createdBy.name` (string) Example: "Jane Doe" - `result.attachments.name` (string) Attachment name. - `result.attachments.sizeInKb` (number) The size of the file, if the attachmentType is FILE. - `result.attachments.url` (string) Attachment temporary URL (files only). - `result.attachments.urlExpiresInMillis` (number) Attachment temporary URL time to live (files only). - `result.cells` (array) Cells belonging to the row. - `result.cells.columnId` (number) The ID of the column that the cell is located in. - `result.cells.rowId` (number) The ID of the row the cell is located in. - `result.cells.columnType` (string) Only returned if the include query string parameter contains columnType. - `result.cells.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. - `result.cells.displayValue` (string) Visual representation of cell contents, as presented to the user in the UI. - `result.cells.format` (string) The format descriptor. Only returned if the include query string parameter contains format and this cell has a non-default format applied. - `result.cells.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". - `result.cells.hyperlink` (object) - `result.cells.hyperlink.reportId` (number) If non-null, this hyperlink is a link to the report with this ID. - `result.cells.hyperlink.sheetId` (number) If non-null, this hyperlink is a link to the sheet with this ID. - `result.cells.hyperlink.sightId` (number) If non-null, this hyperlink is a link to the dashboard with this ID. - `result.cells.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. - `result.cells.image` (object) - `result.cells.image.altText` (string) Alternate text for the image. - `result.cells.image.height` (number) Original height (in pixels) of the uploaded image. - `result.cells.image.id` (string) Image ID. - `result.cells.image.width` (number) Original width (in pixels) of the uploaded image. - `result.cells.linkInFromCell` (object) - `result.cells.linkInFromCell.columnId` (number) Column ID of the linked cell. - `result.cells.linkInFromCell.rowId` (number) Row ID of the linked cell. - `result.cells.linkInFromCell.sheetId` (number) Sheet ID of the sheet that the linked cell belongs to. - `result.cells.linkInFromCell.sheetName` (string) Sheet name of the linked cell. - `result.cells.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" - `result.cells.linksOutToCells` (array) - `result.cells.objectValue` (any) - `result.cells.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. - `result.cells.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. - `result.cells.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. - `result.columns` (array) Columns of row. Only returned if the include query string parameter contains columns. - `result.columns.autoNumberFormat` (object) Object that describes how the the System Column type of "AUTO_NUMBER" is auto-generated. - `result.columns.autoNumberFormat.fill` (string) Indicates zero-padding. Must be between 0 and 10 "0" (zero) characters. - `result.columns.autoNumberFormat.prefix` (string) The prefix. Can include the date tokens: * {DD} * {MM} * {YY} * {YYYY} - `result.columns.autoNumberFormat.startingNumber` (number) The starting number for the auto-id. - `result.columns.autoNumberFormat.suffix` (string) The suffix. Can include the date tokens: * {DD} * {MM} * {YY} * {YYYY} - `result.columns.contactOptions` (array) Array of ContactOption objects to specify a pre-defined list of values for the column. Column type must be CONTACT_LIST. - `result.columns.contactOptions.email` (string) A parsable email address. - `result.columns.contactOptions.name` (string) Can be a user's name, display name, or free text. - `result.columns.description` (string) Column description. - `result.columns.format` (string) The format descriptor (see [Cell formatting](/api/smartsheet/guides/advanced-topics/cell-formatting)). Only returned if the include query string parameter contains format and this column has a non-default format applied to it. - `result.columns.formula` (string) The formula for the column, if set. - `result.columns.hidden` (boolean) Indicates whether the column is hidden. - `result.columns.id` (number) Column ID. - `result.columns.index` (number) Column index or position. This number is zero-based. - `result.columns.locked` (boolean) Indicates whether the column is locked. In a response, a value of true indicates that the column has been locked by the sheet owner or the admin. - `result.columns.lockedForUser` (boolean) Indicates whether the column is locked for the requesting user. This attribute may be present in a response, but cannot be specified in a request. - `result.columns.options` (array) Array of the options available for the column. - `result.columns.primary` (boolean) Returned only if the column is the Primary Column (value = true). - `result.columns.symbol` (string) When applicable for CHECKBOX or PICKLIST column types. See [Symbol Columns](/api/smartsheet/openapi/columns). - `result.columns.systemColumnType` (string) See [System Columns](/api/smartsheet/openapi/columns). Enum: "AUTO_NUMBER", "CREATED_BY", "CREATED_DATE", "MODIFIED_BY", "MODIFIED_DATE" - `result.columns.tags` (array) Set of tags to indicate special columns. Each element in the array is set to one of the listed enum values. Enum: "CALENDAR_END_DATE", "CALENDAR_START_DATE", "CARD_DONE", "GANTT_ALLOCATION", "GANTT_ASSIGNED_RESOURCE", "GANTT_DISPLAY_LABEL", "GANTT_DURATION", "GANTT_END_DATE", "GANTT_PERCENT_COMPLETE", "GANTT_PREDECESSOR", "GANTT_START_DATE", "BASELINE_START_DATE", "BASELINE_END_DATE", "BASELINE_VARIANCE" - `result.columns.title` (string) Column title. - `result.columns.type` (string) See [Column Types](/api/smartsheet/openapi/columns) Enum: "ABSTRACT_DATETIME", "CHECKBOX", "CONTACT_LIST", "DATE", "DATETIME", "DURATION", "MULTI_CONTACT_LIST", "MULTI_PICKLIST", "PICKLIST", "PREDECESSOR", "TEXT_NUMBER" - `result.columns.validation` (boolean) Indicates whether validation has been enabled for the column (value = true). - `result.columns.version` (number) * 0: CONTACT_LIST, PICKLIST, or TEXT_NUMBER. * 1: MULTI_CONTACT_LIST. * 2: MULTI_PICKLIST. Enum: 0, 1, 2 - `result.columns.width` (number) Display width of the column in pixels. - `result.conditionalFormat` (string) Describes this row's conditional format. Only returned if the include query string parameter contains format and this row has a conditional format applied. Example: ",,1,1,,,,,,,,,,,,," - `result.createdBy` (object) User object containing name and email of the creator of this row. - `result.discussions` (array) Discussions on the row. Only returned if the include query string parameter contains discussions. - `result.discussions.id` (number) Discussion ID. - `result.discussions.comments` (array) Array of comments in discussion. Only returned if the include query string parameter contains comments. - `result.discussions.comments.attachments` (array) Array of attachments on comments. - `result.discussions.comments.createdBy` (object) User object containing name and email of the creator of this comment. - `result.discussions.comments.discussionId` (number) Discussion ID of discussion that contains comment. - `result.discussions.comments.id` (number) Comment ID. - `result.discussions.comments.modifiedAt` (any) - `result.discussions.comments.text` (string) Comment body. - `result.discussions.commentAttachments` (array) Array of attachments on discussion comments. Only returned if the include query string parameter contains attachments. - `result.discussions.commentCount` (number) Number of comments in the discussion. - `result.discussions.createdBy` (object) User object containing name and email of the user who created the discussion. - `result.discussions.lastCommentedAt` (any) - `result.discussions.lastCommentedUser` (object) User object containing name and email of the user who last commented on the discussion. - `result.discussions.parentId` (number) The ID of the associated row or sheet. - `result.discussions.parentType` (string) Type of parent object. Enum: "ROW", "SHEET" - `result.discussions.readOnly` (boolean) Indicates whether the user can modify the discussion. - `result.discussions.title` (string) Title automatically created by duplicating the first 100 characters of top-level comment. - `result.proof` (object) Object containing zero or more media items, including images, videos, and documents, for review, editing, or approval. - `result.proof.id` (number) Proof ID of the proof version. - `result.proof.originalId` (number) Proof ID of the original proof version. - `result.proof.name` (string) Proof name. This is the same as primary column value. If the primary column value is empty, name is empty. - `result.proof.type` (string) File type for the proof version. Enum: "DOCUMENT", "IMAGE", "MIXED", "NONE", "VIDEO" - `result.proof.documentType` (string) If type=DOCUMENT, then this indicates the type of file, such as PDF. - `result.proof.proofRequestUrl` (string) URL to review a proofing request. - `result.proof.version` (number) The version number of the proof. - `result.proof.lastUpdatedAt` (any) - `result.proof.lastUpdatedBy` (object) User object containing name and email of the user who last updated the proof. - `result.proof.isCompleted` (boolean) Indicates whether the proof is completed. - `result.proof.attachments` (array) Array of Attachment objects. Only returned if the include query string parameter contains attachments. - `result.proof.discussions` (array) Array of Discussion objects. Only returned if the include query string parameter contains discussions. - `result.expanded` (boolean) Indicates whether the row is expanded or collapsed. - `result.filteredOut` (boolean) Indicates if the row is filtered out by a column filter. Only returned if the include query string parameter contains filters. - `result.format` (string) Format descriptor. Only returned if the include query string parameter contains format and this row has a non-default format applied. Example: ",,1,1,,,,,,,,,,,,," - `result.inCriticalPath` (boolean) Only returned, with a value of true, if the sheet is a project sheet with dependencies enabled and this row is in the critical path. - `result.locked` (boolean) Indicates whether the row is locked. - `result.lockedForUser` (boolean) Indicates whether the row is locked for the requesting user. - `result.modifiedBy` (object) User object containing name and email of the last person to modify this row. - `result.permaLink` (string) URL that represents a direct link to the row in Smartsheet. Only returned if the include query string parameter contains rowPermalink. - `result.rowNumber` (number) Row number within the sheet. - `result.version` (number) Sheet version number that is incremented every time a sheet is modified.