Skip to main content
POST
Read a rule spreadsheet without storing anything

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

workspace
string
required

Workspace slug.

Maximum string length: 64
Pattern: ^[a-z0-9][a-z0-9-]{0,63}$

Body

multipart/form-data
file
file
required

The .xlsx workbook to read.

hit_policy
string
default:first

first takes the first matching row and stops — row order matters. collect gathers every matching row.

sheet
string | null

Sheet to read. Defaults to Rules, else the first sheet.

Response

Successful Response

The reading of an uploaded workbook. Nothing has been stored.

sheet
string
required

The sheet that was read.

rows_read
integer
required

Non-blank rows below the header.

spec
Spec · object
required

The rule table as columns and rows. Submit this back to /versions/from-spec after any correction, or re-upload the corrected workbook.

columns
SpreadsheetColumnReport · object[]

One entry per spreadsheet column, including the ones that were not read — a header typo is never silent.

problems
SpreadsheetProblem · object[]

Cells that could not be translated. Empty means a clean read.

shadowed
ShadowedRule · object[]

Rows an earlier row already covers, so they can never fire under the first hit policy.

content
string | null

The compiled JDM, when the spec compiled. Null when it did not — see problems.

compile_error
string | null

Why the rows could not be compiled, if they could not.