Skip to content

Push external data

POST/v2/data-sources/{competitionThemeSettingId}/{alias}

POST
/v2/data-sources/{competitionThemeSettingId}/{alias}
curl --request POST \
--url https://api.ligr.live/rest/v2/data-sources/1/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "data": { "rows": [ { "team": "Eagles", "score": 42 } ] } }'

Update the snapshot for a data source identified by competition theme setting and alias. Use this endpoint from Google Apps Script, Zapier, or any other automation tool.

competitionThemeSettingId
required

Entity identifier

integer format: int32
>= 1

The competition theme setting ID

alias
required
string

The data source template alias (e.g., “standings”, “factfile”)

Media typeapplication/json

Request body for pushing data to an external data source. Supports two formats:

  1. Pre-formatted JSON (for complex schemas or direct API integrations): { data: { rows: […] } }

  2. CSV string (for flat tabular data): { csv: “name,score\nJohn,10\nJane,20” }

object
data

Pre-formatted data matching the template schema. Use this format for complex schemas or direct API integrations.

csv

CSV or TSV string. Works with any data source that can export CSV. Row 1 = headers, Row 2+ = data. Supports comma, tab, or semicolon delimiters. Server auto-detects delimiter and parses values (numbers, booleans, JSON arrays).

string
parse

Parse hints for raw sheet data

object
orientation

‘row’ = headers in first row (default), ‘col’ = headers in first column

string
Allowed values: row col
headerIndex

Which row/column contains headers (1-based). Defaults to 1.

number format: double
Example
{
"data": {
"rows": [
{
"team": "Eagles",
"score": 42
}
]
}
}

Ok

Media typeapplication/json

Response body after successfully pushing data

object
success
required
boolean
alias
required
string
competitionThemeSettingId
required
number format: double
lastPushedAt
required
string
warning

Validation warning if the data doesn’t match the template schema. Data is still stored even if validation fails.

string
Examplegenerated
{
"success": true,
"alias": "example",
"competitionThemeSettingId": 1,
"lastPushedAt": "example",
"warning": "example"
}

Request is invalid

Media typeapplication/json
object
message
required
string
details
required
object
key
additional properties
Examplegenerated
{
"message": "example",
"details": {
"additionalProperty": "example"
}
}

Missing or invalid api key

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

Api key provides insufficient access for the request

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

Data source not found

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

Api key has made too many requests

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

An unexpected error has occured. If problems persist please contact support

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}