# Add report columns

Add columns to a report specified by a report ID. The source sheet columns are matched in these ways:

- [type, title] for regular columns
- [type, systemColumnType] for system columns
- [type=TEXT_NUMBER, sheetNameColumn=true] for the special sheet name report column

Note: All indexes of the columns must be equal. The columns will be added at the specified index, and existing columns at that index or greater will be shifted to the right. For example, if there are 5 columns in the report and a new column is added with index 2, the new column will be added at position 3 and the existing columns that were at positions 3 and 4 will be shifted to positions 4 and 5, respectively.

Note: You can combine multiple CHECKBOX columns or multiple PICKLIST columns from different sheets into a single report column, even if their underlying symbols differ. However, you can't combine a CHECKBOX column with a PICKLIST column, because they're different types.

Note: The system column type AUTO_NUMBER is matched together with columns having the same title and type=TEXT_NUMBER.

Endpoint: POST /reports/{reportId}/columns
Version: 2.0.0
Security: APIToken, OAuth2

## 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"

## Path parameters:

  - `reportId` (number, required)
    ID of the report being accessed.

## Response 200 fields (application/json):

  - `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` (array)

## Response 400 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.

## Response 403 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.

## Response 404 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.

## 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.


