TableRowCollection: add

Namespace: microsoft.graph

Adds rows to the end of the table. Note that the API can accept multiple rows data using this API. Adding one row at a time could lead to performance degradation. The recommended approach would be to batch the rows together in a single call rather than doing single row insertion. For best results, collect the rows to be inserted on the application side and perform single rows add operation. Experiment with the number of rows to determine the ideal number of rows to use in single API call.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Error Handling

This request might occasionally receive a 504 HTTP error. The appropriate response to this error is to repeat the request.


Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Files.ReadWrite Not available.
Delegated (personal Microsoft account) Files.ReadWrite Not available.
Application Not supported. Not supported.

HTTP request

POST /me/drive/items/{id}/workbook/tables/{id|name}/rows/add
POST /me/drive/root:/{item-path}:/workbook/tables/{id|name}/rows/add
POST /me/drive/items/{id}/workbook/worksheets/{id|name}/tables/{id|name}/rows/add
POST /me/drive/root:/{item-path}:/workbook/worksheets/{id|name}/tables/{id|name}/rows/add

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
Workbook-Session-Id Workbook session Id that determines if changes are persisted or not. Optional.

Request body

In the request body, provide a JSON object with the following parameters.

Parameter Type Description
index Int32 Optional. Specifies the relative position of the new row. If null, the addition happens at the end. Any rows below the inserted row are shifted downwards. Zero-indexed.
values Json Optional. A 2-dimensional array of unformatted values of the table row.


If successful, this method returns 200 OK response code and WorkbookTableRow object in the response body.


In this example two rows of data are inserted at the end of the table.


The following example shows a request.

Content-type: application/json

  "index": 5,
  "values": [
    [1, 2, 3],
    [4, 5, 6]

The following example shows the response. Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-type: application/json

  "index": 99,
  "values": "values-value"