DataTables

Creates a new data table without a file using row data provided in the request.

Creates a new data table using row data provided directly in the request body.

Limits:

  • Minimum: 1 row
  • Maximum: 100,000 rows
  • Request size: 10MB

Row Format: Each row is an array of strings where values are positional - each position corresponds to a column in table structure order. Use empty string "" for null/empty values at any position.

Example 1: For columns [Name (String), Age (Integer), Rate (Decimal)]:

  • ["John", "25", "0.05"] - all values
  • ["John", "", "0.05"] - Age is empty
  • ["", "25", ""] - Name and Rate are empty

Example 2: For columns [Name (String), Scenario (ScenarioTable), Active (Boolean)]:

  • ["Base", "15", "true"] - references ScenarioTable ID 15
  • ["Alt", "", "true"] - no ScenarioTable reference (empty string)

Example 3: For columns [Name (String), Mortality (MortalityTable), Nested (DataTable)]:

  • ["Row1", "16757", "499", "42"] - MortalityTable uses 2 positions, DataTable uses 1
  • ["Row2", "", "", ""] - all reference columns empty

Supported Column Types:

TypeValuesExample
Integer (1)1 value"100"
Decimal (2)1 value"0.0123"
String (3)1 value"Male"
Date (4)1 value"2024-01-15"
Boolean (5)1 value"true" or "false"
MortalityTable (6)2 values"16757", "499"
DataTable (7)1 value"42" or ""
DropDownList (8)1 value"Option1"
ScenarioTable (9)1 value"15" or ""

Important:

  • MortalityTable columns expand to 2 positions in the row array (decrementTableId, improvementScaleId)
  • All other column types use 1 position each
  • Row length must equal: (column count) + (number of MortalityTable columns)
  • Invalid DataTable/ScenarioTable reference IDs are silently cleared to empty
  • Format matches GET /api/v1/DataTables/{id}/Data response
post/api/v2/DataTables

Request

Request body

tableStructureIdinteger required

Table Structure ID (required)

namestring required

Data Table Name (required)

Example request

{
  "tableStructureId": 1,
  "name": "2024 Mortality Assumptions",
  "rows": [
    [
      "100",
      "Male",
      "0.0123",
      "2024-01-15",
      "true",
      "16757",
      "499",
      "42",
      "Option1",
      "15"
    ],
    [
      "101",
      "Female",
      "0.0098",
      "2024-02-20",
      "false",
      "16758",
      "500",
      "",
      "Option2",
      ""
    ]
  ],
  "indexes": [
    {
      "columnName": "Age"
    }
  ]
}

Response

Data table created successfully

idinteger
namestring nullable
tableStructureIdinteger
tableStructureNamestring nullable
isFileOnlyboolean
versioninteger
isLatestVersionboolean

Changes

No recorded changes to this operation across all 1 revision of this API.