POST
/
tables

Create a new Big Table, define its structure, and (optionally) populate it with data.

When using a CSV or TSV request body, the name of the table must be passed as a query parameter and the schema of the table is inferred from the content. Alternatively, the CSV/TSV content may be stashed, and then the schema and name may be passed in the regular JSON payload.

Examples

Authorizations

Authorization
string
headerrequired

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

name
string

Name of the table. Required when the name is not passed in the request body. It is an error to pass a name in both this query parameter and the request body.

onSchemaError
enum<string>

The action to take when the passed data does not match the table schema:

  • abort: Abort the entire operation and return an error.
  • dropColumns: Ignore the data that caused the error, and do not import those columns in the affected rows.
  • updateSchema: Update the schema as needed to add any missing columns or widen the data types of existing columns, and then import the data from them.
Available options:
abort,
dropColumns,
updateSchema

Body

name
string
required

Name of the table, e.g., Invoices

schema
object
required

The schema of the table as a collection of column definitions

rows
required

A collection of row objects conforming to the schema of the table where keys are the column IDs and values are the column values:

[
	{
		"fullName": "Alex Bard",
		"invoiceDate": "2024-07-29T14:04:15.561Z",
		"totalAmount": 34.50,
		"amountPaid": 0
	},
	{
		"fullName": "Alicia Hines",
		"invoiceDate": "2023-06-15T10:30:00.000Z",
		"totalAmount": 50.75,
		"amountPaid": 20
	}
]

Response

201 - application/json
data
object
required