REST API spec
For the full spec, checkout the API docs at https://api.parsomics.org.
Important
There is no public instance of this API. Instead, the parsomics
team
recommends self hosting the relational database and the REST API.
Querying API Specification
This API allows structured SQL-like queries using JSON. It supports SELECT
, JOIN
, and WHERE
clauses. Results are read-only and come from composing simple model relationships.
Structure
{
"selects": [ /* list of fields to retrieve */ ],
"joins": [ /* list of join definitions */ ],
"wheres": [ /* list of filter conditions */ ]
}
Fields
selects
(required)
An array of attributes to retrieve.
{ "mdl": "ModelName", "attr": "attribute_name" }
mdl
: Name of the model/table.attr
: Name of the attribute/column to select.- Wildcard
*
is not supported; all fields must be listed explicitly.
joins
(optional)
An array describing JOIN operations.
{
"mdl": "ModelToJoin",
"onclause": {
"mdl_l": "LeftModel",
"attr_l": "left_attr",
"mdl_r": "RightModel",
"attr_r": "right_attr"
},
"isouter": false,
"full": false
}
-
mdl
: Model being joined. -
onclause
: Defines join condition.mdl_l
/attr_l
: Left side of the join.mdl_r
/attr_r
: Right side of the join.
-
isouter
: Iftrue
, performs a LEFT OUTER JOIN. -
full
: Iftrue
, performs a FULL OUTER JOIN. -
If both
isouter
andfull
arefalse
, a regular INNER JOIN is used.
wheres
(optional)
An array of filtering conditions.
{ "mdl": "ModelName", "attr": "attribute_name", "op": "==", "val": "value" }
mdl
: Model/table the condition applies to.attr
: Attribute/column name.op
: Comparison operator (==
,!=
,<
,<=
,>
,>=
,in
,not in
).val
: Value to compare against. Can be a constant or parameter (e.g.,$param
).