---
title: "Add new data row"
method: POST
path: "/v1/projects/{project_id}/tables/{id}/rows"
tags: ["DataTable"]
---

# Add new data row

`POST /v1/projects/{project_id}/tables/{id}/rows`

## Request

- Base URL: `https://api.telerivet.com`
- URL: `https://api.telerivet.com/v1/projects/{project_id}/tables/{id}/rows`
- Auth: one of:
  - HTTP basic
  - OAuth 2 (authorization code, authorization URL `https://telerivet.com/oauth/authorize`, token URL `https://api.telerivet.com/oauth/token`)

Adds a new row to this data table.

## Path parameters

- `project_id` string, required
- `id` string, required

## Request body

- object
  - `contact_id` string: ID of the contact that this row is associated with (if applicable)
  - `from_number` string: Phone number that this row is associated with (if applicable)
  - `vars` object: Custom variables and values to set for this data row. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.

## Response `200`

Successful response

- DataRow: Represents a row in a custom data table. For example, each response to a poll is stored as one row in a data table. If a poll has a question with ID 'q1', the verbatim response to that question would be stored in {sigil}row{dot}vars{dot}q1, and the response code would be stored in {sigil}row{dot}vars{dot}q1_code. Each custom variable name within a data row corresponds to a different column/field of the data table.
  - `id` string: ID of the data row
  - `contact_id` string: ID of the contact this row is associated with (or null if not associated with any contact)
  - `from_number` string: Phone number that this row is associated with (or null if not associated with any phone number)
  - `vars` object: Custom variables stored for this data row. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.
  - `time_created` integer: The time this row was created in Telerivet
  - `time_updated` integer: The time this row was last updated in Telerivet
  - `table_id` string: ID of the table this data row belongs to
  - `project_id` string: ID of the project this data row belongs to

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key or Bearer token
- `404`: Resource not found

---

[API](https://skmtc.dev/telerivet/apis/telerivet-api.md) · [All operations](https://skmtc.dev/telerivet/apis/telerivet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/telerivet/apis/telerivet-api/revisions/4e14b1c8d917?raw)
