REST API

Schema

Derived from the source of github.com/awee-ai/api/cmd/schema.

Awee Schema API · v1.0.0 · 26 endpoints

Databases

GET/v1/databasesAuth

Handles GET /v1/databases

rest.Handler.GetSchemas

Query parameters

pagestring
limitstring

Responses

200 OKOK
itemsSchema[]

Are the records returned for the current page.

created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

limitinteger (int64)required

Is the page size that was applied to the query.

pageinteger (int64)required

Is the 1-based page number derived from the request's Offset/Limit.

searchListSearchResult[]
fieldstringrequired
highlightinteger (int64)[][]

[[1,6]]

idstringrequired
valuestringrequired
totalinteger (int64)required

Is the total number of records matching the query across all pages (i.e.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "items": [
    {
      "created_at": "2024-01-15T09:30:00Z",
      "name": "string",
      "org_id": "string",
      "tables": [
        {
          "audited": true,
          "config": null,
          "description": "string",
          "fields": [
            {
              "default": null,
              "default_source": "string",
              "description": "string",
              "label": "string",
              "name": "string",
              "option_labels": [
                "string"
              ],
              "options": [
                "string"
              ],
              "related_field": "string",
              "related_table": "string",
              "relation_label_field": "string",
              "required": true,
              "type": "string"
            }
          ],
          "indexes": [
            {
              "fields": [
                "string"
              ],
              "name": "string",
              "unique": true
            }
          ],
          "name": "string",
          "versioned": true
        }
      ],
      "updated_at": "2024-01-15T09:30:00Z",
      "user_id": "string",
      "version": 0
    }
  ],
  "limit": 0,
  "page": 0,
  "search": [
    {
      "field": "string",
      "highlight": [
        [
          0
        ]
      ],
      "id": "string",
      "value": "string"
    }
  ],
  "total": 0
}
POST/v1/databasesAuth

Handles POST /v1/databases

rest.Handler.CreateSchema

Body

application/jsonrequired
created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

Responses

201 CreatedCreated
created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{
  "created_at": "2024-01-15T09:30:00Z",
  "name": "string",
  "org_id": "string",
  "tables": [
    {
      "audited": true,
      "config": null,
      "description": "string",
      "fields": [
        {
          "default": null,
          "default_source": "string",
          "description": "string",
          "label": "string",
          "name": "string",
          "option_labels": [
            "string"
          ],
          "options": [
            "string"
          ],
          "related_field": "string",
          "related_table": "string",
          "relation_label_field": "string",
          "required": true,
          "type": "string"
        }
      ],
      "indexes": [
        {
          "fields": [
            "string"
          ],
          "name": "string",
          "unique": true
        }
      ],
      "name": "string",
      "versioned": true
    }
  ],
  "updated_at": "2024-01-15T09:30:00Z",
  "user_id": "string",
  "version": 0
}
201 Created
{
  "created_at": "2024-01-15T09:30:00Z",
  "name": "string",
  "org_id": "string",
  "tables": [
    {
      "audited": true,
      "config": null,
      "description": "string",
      "fields": [
        {
          "default": null,
          "default_source": "string",
          "description": "string",
          "label": "string",
          "name": "string",
          "option_labels": [
            "string"
          ],
          "options": [
            "string"
          ],
          "related_field": "string",
          "related_table": "string",
          "relation_label_field": "string",
          "required": true,
          "type": "string"
        }
      ],
      "indexes": [
        {
          "fields": [
            "string"
          ],
          "name": "string",
          "unique": true
        }
      ],
      "name": "string",
      "versioned": true
    }
  ],
  "updated_at": "2024-01-15T09:30:00Z",
  "user_id": "string",
  "version": 0
}
GET/v1/databases/{schema}Auth

Handles GET /v1/databases/{schema}

rest.Handler.GetSchema

Path parameters

schemastringrequired

Responses

200 OKOK
created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "created_at": "2024-01-15T09:30:00Z",
  "name": "string",
  "org_id": "string",
  "tables": [
    {
      "audited": true,
      "config": null,
      "description": "string",
      "fields": [
        {
          "default": null,
          "default_source": "string",
          "description": "string",
          "label": "string",
          "name": "string",
          "option_labels": [
            "string"
          ],
          "options": [
            "string"
          ],
          "related_field": "string",
          "related_table": "string",
          "relation_label_field": "string",
          "required": true,
          "type": "string"
        }
      ],
      "indexes": [
        {
          "fields": [
            "string"
          ],
          "name": "string",
          "unique": true
        }
      ],
      "name": "string",
      "versioned": true
    }
  ],
  "updated_at": "2024-01-15T09:30:00Z",
  "user_id": "string",
  "version": 0
}
PUT/v1/databases/{schema}Auth

Handles PUT /v1/databases/{schema}

rest.Handler.UpdateSchema

Path parameters

schemastringrequired

Body

application/jsonrequired
created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

Responses

200 OKOK
created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{
  "created_at": "2024-01-15T09:30:00Z",
  "name": "string",
  "org_id": "string",
  "tables": [
    {
      "audited": true,
      "config": null,
      "description": "string",
      "fields": [
        {
          "default": null,
          "default_source": "string",
          "description": "string",
          "label": "string",
          "name": "string",
          "option_labels": [
            "string"
          ],
          "options": [
            "string"
          ],
          "related_field": "string",
          "related_table": "string",
          "relation_label_field": "string",
          "required": true,
          "type": "string"
        }
      ],
      "indexes": [
        {
          "fields": [
            "string"
          ],
          "name": "string",
          "unique": true
        }
      ],
      "name": "string",
      "versioned": true
    }
  ],
  "updated_at": "2024-01-15T09:30:00Z",
  "user_id": "string",
  "version": 0
}
200 OK
{
  "created_at": "2024-01-15T09:30:00Z",
  "name": "string",
  "org_id": "string",
  "tables": [
    {
      "audited": true,
      "config": null,
      "description": "string",
      "fields": [
        {
          "default": null,
          "default_source": "string",
          "description": "string",
          "label": "string",
          "name": "string",
          "option_labels": [
            "string"
          ],
          "options": [
            "string"
          ],
          "related_field": "string",
          "related_table": "string",
          "relation_label_field": "string",
          "required": true,
          "type": "string"
        }
      ],
      "indexes": [
        {
          "fields": [
            "string"
          ],
          "name": "string",
          "unique": true
        }
      ],
      "name": "string",
      "versioned": true
    }
  ],
  "updated_at": "2024-01-15T09:30:00Z",
  "user_id": "string",
  "version": 0
}
DELETE/v1/databases/{schema}Auth

Handles DELETE /v1/databases/{schema}

rest.Handler.DeleteSchema

Path parameters

schemastringrequired

Responses

204 No ContentNo Content

No response body.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

Default
{
  "error": "string"
}

Audit

GET/v1/databases/{schema}/auditAuth

Handles GET /v1/databases/{schema}/audit

Mirrors the QueryRecords convention: pagination via page/limit, filtering via a JSON `filters` array. Returns ListResult[AuditEntry]. Filterable fields (Op = "eq" unless noted): table_name, record_id, actor_id, actor_type, operation, correlation_id, batch_id – exact match created_at – gt/gte/lt/lte against an RFC3339 string; gt/gte → AuditQuery.From, lt/lte → To Example: ?page=1&limit=50&filters=[ {"field":"table_name","op":"eq","value":"projects"}, {"field":"created_at","op":"gte","value":"2026-05-01T00:00:00Z"} ]

rest.Handler.GetAuditLog

Path parameters

schemastringrequired

Query parameters

pagestring
limitstring
filtersstring

Responses

200 OKOK
itemsSchema[]

Are the records returned for the current page.

created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

limitinteger (int64)required

Is the page size that was applied to the query.

pageinteger (int64)required

Is the 1-based page number derived from the request's Offset/Limit.

searchListSearchResult[]
fieldstringrequired
highlightinteger (int64)[][]

[[1,6]]

idstringrequired
valuestringrequired
totalinteger (int64)required

Is the total number of records matching the query across all pages (i.e.

400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "items": [
    {
      "created_at": "2024-01-15T09:30:00Z",
      "name": "string",
      "org_id": "string",
      "tables": [
        {
          "audited": true,
          "config": null,
          "description": "string",
          "fields": [
            {
              "default": null,
              "default_source": "string",
              "description": "string",
              "label": "string",
              "name": "string",
              "option_labels": [
                "string"
              ],
              "options": [
                "string"
              ],
              "related_field": "string",
              "related_table": "string",
              "relation_label_field": "string",
              "required": true,
              "type": "string"
            }
          ],
          "indexes": [
            {
              "fields": [
                "string"
              ],
              "name": "string",
              "unique": true
            }
          ],
          "name": "string",
          "versioned": true
        }
      ],
      "updated_at": "2024-01-15T09:30:00Z",
      "user_id": "string",
      "version": 0
    }
  ],
  "limit": 0,
  "page": 0,
  "search": [
    {
      "field": "string",
      "highlight": [
        [
          0
        ]
      ],
      "id": "string",
      "value": "string"
    }
  ],
  "total": 0
}

Tables

GET/v1/databases/{schema}/tablesAuth

Handles GET /v1/databases/{schema}/tables

rest.Handler.GetTables

Path parameters

schemastringrequired

Query parameters

pagestring
limitstring

Responses

200 OKOK
itemsSchema[]

Are the records returned for the current page.

created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

limitinteger (int64)required

Is the page size that was applied to the query.

pageinteger (int64)required

Is the 1-based page number derived from the request's Offset/Limit.

searchListSearchResult[]
fieldstringrequired
highlightinteger (int64)[][]

[[1,6]]

idstringrequired
valuestringrequired
totalinteger (int64)required

Is the total number of records matching the query across all pages (i.e.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "items": [
    {
      "created_at": "2024-01-15T09:30:00Z",
      "name": "string",
      "org_id": "string",
      "tables": [
        {
          "audited": true,
          "config": null,
          "description": "string",
          "fields": [
            {
              "default": null,
              "default_source": "string",
              "description": "string",
              "label": "string",
              "name": "string",
              "option_labels": [
                "string"
              ],
              "options": [
                "string"
              ],
              "related_field": "string",
              "related_table": "string",
              "relation_label_field": "string",
              "required": true,
              "type": "string"
            }
          ],
          "indexes": [
            {
              "fields": [
                "string"
              ],
              "name": "string",
              "unique": true
            }
          ],
          "name": "string",
          "versioned": true
        }
      ],
      "updated_at": "2024-01-15T09:30:00Z",
      "user_id": "string",
      "version": 0
    }
  ],
  "limit": 0,
  "page": 0,
  "search": [
    {
      "field": "string",
      "highlight": [
        [
          0
        ]
      ],
      "id": "string",
      "value": "string"
    }
  ],
  "total": 0
}
POST/v1/databases/{schema}/tablesAuth

Handles POST /v1/databases/{schema}/tables

rest.Handler.CreateTable

Path parameters

schemastringrequired

Body

application/jsonrequired
auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

Responses

201 CreatedCreated
auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{
  "audited": true,
  "config": null,
  "description": "string",
  "fields": [
    {
      "default": null,
      "default_source": "string",
      "description": "string",
      "label": "string",
      "name": "string",
      "option_labels": [
        "string"
      ],
      "options": [
        "string"
      ],
      "related_field": "string",
      "related_table": "string",
      "relation_label_field": "string",
      "required": true,
      "type": "string"
    }
  ],
  "indexes": [
    {
      "fields": [
        "string"
      ],
      "name": "string",
      "unique": true
    }
  ],
  "name": "string",
  "versioned": true
}
201 Created
{
  "audited": true,
  "config": null,
  "description": "string",
  "fields": [
    {
      "default": null,
      "default_source": "string",
      "description": "string",
      "label": "string",
      "name": "string",
      "option_labels": [
        "string"
      ],
      "options": [
        "string"
      ],
      "related_field": "string",
      "related_table": "string",
      "relation_label_field": "string",
      "required": true,
      "type": "string"
    }
  ],
  "indexes": [
    {
      "fields": [
        "string"
      ],
      "name": "string",
      "unique": true
    }
  ],
  "name": "string",
  "versioned": true
}
GET/v1/databases/{schema}/tables/{table}Auth

Handles GET /v1/databases/{schema}/tables/{table}

rest.Handler.GetTable

Path parameters

schemastringrequired
tablestringrequired

Responses

200 OKOK
auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "audited": true,
  "config": null,
  "description": "string",
  "fields": [
    {
      "default": null,
      "default_source": "string",
      "description": "string",
      "label": "string",
      "name": "string",
      "option_labels": [
        "string"
      ],
      "options": [
        "string"
      ],
      "related_field": "string",
      "related_table": "string",
      "relation_label_field": "string",
      "required": true,
      "type": "string"
    }
  ],
  "indexes": [
    {
      "fields": [
        "string"
      ],
      "name": "string",
      "unique": true
    }
  ],
  "name": "string",
  "versioned": true
}
PUT/v1/databases/{schema}/tables/{table}Auth

Handles PUT /v1/databases/{schema}/tables/{table}

rest.Handler.UpdateTable

Path parameters

schemastringrequired
tablestringrequired

Body

application/jsonrequired
auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

Responses

200 OKOK
auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{
  "audited": true,
  "config": null,
  "description": "string",
  "fields": [
    {
      "default": null,
      "default_source": "string",
      "description": "string",
      "label": "string",
      "name": "string",
      "option_labels": [
        "string"
      ],
      "options": [
        "string"
      ],
      "related_field": "string",
      "related_table": "string",
      "relation_label_field": "string",
      "required": true,
      "type": "string"
    }
  ],
  "indexes": [
    {
      "fields": [
        "string"
      ],
      "name": "string",
      "unique": true
    }
  ],
  "name": "string",
  "versioned": true
}
200 OK
{
  "audited": true,
  "config": null,
  "description": "string",
  "fields": [
    {
      "default": null,
      "default_source": "string",
      "description": "string",
      "label": "string",
      "name": "string",
      "option_labels": [
        "string"
      ],
      "options": [
        "string"
      ],
      "related_field": "string",
      "related_table": "string",
      "relation_label_field": "string",
      "required": true,
      "type": "string"
    }
  ],
  "indexes": [
    {
      "fields": [
        "string"
      ],
      "name": "string",
      "unique": true
    }
  ],
  "name": "string",
  "versioned": true
}
DELETE/v1/databases/{schema}/tables/{table}Auth

Handles DELETE /v1/databases/{schema}/tables/{table}

rest.Handler.DeleteTable

Path parameters

schemastringrequired
tablestringrequired

Responses

204 No ContentNo Content

No response body.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

Default
{
  "error": "string"
}

Config

GET/v1/databases/{schema}/tables/{table}/configAuth

Handles GET /v1/databases/{schema}/tables/{table}/config

Returns the table's relationships and opaque GUI configuration. Wired on DataManager so runtime SDK consumers can fetch it under user-level auth

rest.Handler.GetTableConfig

Path parameters

schemastringrequired
tablestringrequired

Responses

200 OKOK
configunknown

Is the opaque JSON configuration like TableConfigDatatable

relationshipsTableRelationship[]
fieldstringrequired
related_fieldstring
related_tablestringrequired
typeFieldTyperequired

Enumerates the supported field data types.

tablestringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "config": null,
  "relationships": [
    {
      "field": "string",
      "related_field": "string",
      "related_table": "string",
      "type": "string"
    }
  ],
  "table": "string"
}
PUT/v1/databases/{schema}/tables/{table}/configAuth

Handles PUT /v1/databases/{schema}/tables/{table}/config

Wired on Manager (admin auth); body is the opaque JSON config to persist

rest.Handler.UpdateTableConfig

Path parameters

schemastringrequired
tablestringrequired

Responses

200 OKOK
configunknown

Is the opaque JSON configuration like TableConfigDatatable

relationshipsTableRelationship[]
fieldstringrequired
related_fieldstring
related_tablestringrequired
typeFieldTyperequired

Enumerates the supported field data types.

tablestringrequired
400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "config": null,
  "relationships": [
    {
      "field": "string",
      "related_field": "string",
      "related_table": "string",
      "type": "string"
    }
  ],
  "table": "string"
}

Fields

GET/v1/databases/{schema}/tables/{table}/fieldsAuth

Handles GET /v1/databases/{schema}/tables/{table}/fields

rest.Handler.GetFields

Path parameters

schemastringrequired
tablestringrequired

Query parameters

pagestring
limitstring

Responses

200 OKOK
itemsSchema[]

Are the records returned for the current page.

created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

limitinteger (int64)required

Is the page size that was applied to the query.

pageinteger (int64)required

Is the 1-based page number derived from the request's Offset/Limit.

searchListSearchResult[]
fieldstringrequired
highlightinteger (int64)[][]

[[1,6]]

idstringrequired
valuestringrequired
totalinteger (int64)required

Is the total number of records matching the query across all pages (i.e.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "items": [
    {
      "created_at": "2024-01-15T09:30:00Z",
      "name": "string",
      "org_id": "string",
      "tables": [
        {
          "audited": true,
          "config": null,
          "description": "string",
          "fields": [
            {
              "default": null,
              "default_source": "string",
              "description": "string",
              "label": "string",
              "name": "string",
              "option_labels": [
                "string"
              ],
              "options": [
                "string"
              ],
              "related_field": "string",
              "related_table": "string",
              "relation_label_field": "string",
              "required": true,
              "type": "string"
            }
          ],
          "indexes": [
            {
              "fields": [
                "string"
              ],
              "name": "string",
              "unique": true
            }
          ],
          "name": "string",
          "versioned": true
        }
      ],
      "updated_at": "2024-01-15T09:30:00Z",
      "user_id": "string",
      "version": 0
    }
  ],
  "limit": 0,
  "page": 0,
  "search": [
    {
      "field": "string",
      "highlight": [
        [
          0
        ]
      ],
      "id": "string",
      "value": "string"
    }
  ],
  "total": 0
}
POST/v1/databases/{schema}/tables/{table}/fieldsAuth

Handles POST /v1/databases/{schema}/tables/{table}/fields

rest.Handler.CreateField

Path parameters

schemastringrequired
tablestringrequired

Body

application/jsonrequired
defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

Responses

201 CreatedCreated
defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{
  "default": null,
  "default_source": "string",
  "description": "string",
  "label": "string",
  "name": "string",
  "option_labels": [
    "string"
  ],
  "options": [
    "string"
  ],
  "related_field": "string",
  "related_table": "string",
  "relation_label_field": "string",
  "required": true,
  "type": "string"
}
201 Created
{
  "default": null,
  "default_source": "string",
  "description": "string",
  "label": "string",
  "name": "string",
  "option_labels": [
    "string"
  ],
  "options": [
    "string"
  ],
  "related_field": "string",
  "related_table": "string",
  "relation_label_field": "string",
  "required": true,
  "type": "string"
}
GET/v1/databases/{schema}/tables/{table}/fields/{field}Auth

Handles GET /v1/databases/{schema}/tables/{table}/fields/{field}

rest.Handler.GetField

Path parameters

schemastringrequired
tablestringrequired
fieldstringrequired

Responses

200 OKOK
defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "default": null,
  "default_source": "string",
  "description": "string",
  "label": "string",
  "name": "string",
  "option_labels": [
    "string"
  ],
  "options": [
    "string"
  ],
  "related_field": "string",
  "related_table": "string",
  "relation_label_field": "string",
  "required": true,
  "type": "string"
}
PUT/v1/databases/{schema}/tables/{table}/fields/{field}Auth

Handles PUT /v1/databases/{schema}/tables/{table}/fields/{field}

rest.Handler.UpdateField

Path parameters

schemastringrequired
tablestringrequired
fieldstringrequired

Body

application/jsonrequired
defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

Responses

200 OKOK
defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

400 Bad Requestthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{
  "default": null,
  "default_source": "string",
  "description": "string",
  "label": "string",
  "name": "string",
  "option_labels": [
    "string"
  ],
  "options": [
    "string"
  ],
  "related_field": "string",
  "related_table": "string",
  "relation_label_field": "string",
  "required": true,
  "type": "string"
}
200 OK
{
  "default": null,
  "default_source": "string",
  "description": "string",
  "label": "string",
  "name": "string",
  "option_labels": [
    "string"
  ],
  "options": [
    "string"
  ],
  "related_field": "string",
  "related_table": "string",
  "relation_label_field": "string",
  "required": true,
  "type": "string"
}
DELETE/v1/databases/{schema}/tables/{table}/fields/{field}Auth

Handles DELETE /v1/databases/{schema}/tables/{table}/fields/{field}

rest.Handler.DeleteField

Path parameters

schemastringrequired
tablestringrequired
fieldstringrequired

Responses

204 No ContentNo Content

No response body.

Defaultthe request could not be completed
errorstringrequired
Request

No request body.

Default
{
  "error": "string"
}

Records

GET/v1/databases/{schema}/tables/{table}/recordsAuth

Handles GET /v1/databases/{schema}/tables/{table}/records Supported query parameters: page int – 1-based page number (default 1) limit int – records per page (default 0 = no limit) sort string – "field:asc" or "field:desc" include_deleted bool – include soft-deleted records when "true"

rest.Handler.QueryRecords

Path parameters

schemastringrequired
tablestringrequired

Query parameters

pagestring
limitstring
sortstring
include_deletedstring
filtersstring
searchstring

Responses

200 OKOK
itemsSchema[]

Are the records returned for the current page.

created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

limitinteger (int64)required

Is the page size that was applied to the query.

pageinteger (int64)required

Is the 1-based page number derived from the request's Offset/Limit.

searchListSearchResult[]
fieldstringrequired
highlightinteger (int64)[][]

[[1,6]]

idstringrequired
valuestringrequired
totalinteger (int64)required

Is the total number of records matching the query across all pages (i.e.

403 Forbiddenthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "items": [
    {
      "created_at": "2024-01-15T09:30:00Z",
      "name": "string",
      "org_id": "string",
      "tables": [
        {
          "audited": true,
          "config": null,
          "description": "string",
          "fields": [
            {
              "default": null,
              "default_source": "string",
              "description": "string",
              "label": "string",
              "name": "string",
              "option_labels": [
                "string"
              ],
              "options": [
                "string"
              ],
              "related_field": "string",
              "related_table": "string",
              "relation_label_field": "string",
              "required": true,
              "type": "string"
            }
          ],
          "indexes": [
            {
              "fields": [
                "string"
              ],
              "name": "string",
              "unique": true
            }
          ],
          "name": "string",
          "versioned": true
        }
      ],
      "updated_at": "2024-01-15T09:30:00Z",
      "user_id": "string",
      "version": 0
    }
  ],
  "limit": 0,
  "page": 0,
  "search": [
    {
      "field": "string",
      "highlight": [
        [
          0
        ]
      ],
      "id": "string",
      "value": "string"
    }
  ],
  "total": 0
}
POST/v1/databases/{schema}/tables/{table}/recordsAuth

Handles POST /v1/databases/{schema}/tables/{table}/records

rest.Handler.CreateRecord

Path parameters

schemastringrequired
tablestringrequired

Body

application/jsonrequired
Record

Is an untyped key-value map representing a single row.

Responses

201 CreatedCreated
Record

Is an untyped key-value map representing a single row.

400 Bad Requestthe request could not be completed
errorstringrequired
403 Forbiddenthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{}
201 Created
{}
GET/v1/databases/{schema}/tables/{table}/records/{record}Auth

Handles GET /v1/databases/{schema}/tables/{table}/records/{record}

rest.Handler.GetRecord

Path parameters

schemastringrequired
tablestringrequired
recordstringrequired

Responses

200 OKOK
Record

Is an untyped key-value map representing a single row.

403 Forbiddenthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{}
PUT/v1/databases/{schema}/tables/{table}/records/{record}Auth

Handles PUT /v1/databases/{schema}/tables/{table}/records/{record}

rest.Handler.UpdateRecord

Path parameters

schemastringrequired
tablestringrequired
recordstringrequired

Body

application/jsonrequired
Record

Is an untyped key-value map representing a single row.

Responses

200 OKOK
Record

Is an untyped key-value map representing a single row.

400 Bad Requestthe request could not be completed
errorstringrequired
403 Forbiddenthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request body
{}
200 OK
{}
DELETE/v1/databases/{schema}/tables/{table}/records/{record}Auth

Handles DELETE /v1/databases/{schema}/tables/{table}/records/{record}

rest.Handler.DeleteRecord

Path parameters

schemastringrequired
tablestringrequired
recordstringrequired

Responses

204 No ContentNo Content

No response body.

403 Forbiddenthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

403 Forbidden
{
  "error": "string"
}
GET/v1/databases/{schema}/tables/{table}/records/{record}/files/{field}Auth

Handles GET /v1/databases/{schema}/tables/{table}/records/{record}/files/{field}

rest.Handler.DownloadFile

Path parameters

schemastringrequired
tablestringrequired
recordstringrequired
fieldstringrequired

Responses

200 OKOK
string
403 Forbiddenthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
"string"
POST/v1/databases/{schema}/tables/{table}/records/{record}/files/{field}Auth

Handles POST /v1/databases/{schema}/tables/{table}/records/{record}/files/{field}

The body is multipart with the bytes in a part named "file"; the blob key the store returns is stamped onto the record's field, so the response is the updated record.

rest.Handler.UploadFile

Path parameters

schemastringrequired
tablestringrequired
recordstringrequired
fieldstringrequired

Responses

200 OKOK
Record

Is an untyped key-value map representing a single row.

400 Bad Requestthe request could not be completed
errorstringrequired
403 Forbiddenthe request could not be completed
errorstringrequired
413 Payload Too Largethe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{}
GET/v1/databases/{schema}/tables/{table}/records/{record}/historyAuth

Handles GET /v1/databases/{schema}/tables/{table}/records/{record}/history

Returns all stored versions of the record in ascending version order

rest.Handler.GetRecordHistory

Path parameters

schemastringrequired
tablestringrequired
recordstringrequired

Responses

200 OKOK
itemsSchema[]

Are the records returned for the current page.

created_atstring (date-time)required

Is the UTC timestamp when the schema was first persisted.

namestringrequired

Is the schema identifier and maps to the underlying database name (e.g.

org_idstringrequired

Scopes the schema to a tenant.

tablesTable[]

Is the ordered list of tables that make up the schema.

auditedboolean

Enables per-write audit logging for this table.

configunknown

Is opaque JSON configuration for the table, persisted in the _schema_tables meta-table.

descriptionstring

Is an optional human-readable summary surfaced in generated documentation and GUI tooling.

fieldsField[]

Is the ordered list of user-defined columns on the table.

defaultunknown

Is the value applied when a record is inserted (or a form is rendered) without an explicit value for this field.

default_sourcestring

Declares the origin of a dynamic default value when the server has resolved one into Default.

descriptionstring

Is a human-readable explanation of the field's purpose.

labelstring

Is the UI label for the field.

namestringrequired

Is the column / input name.

option_labelsstring[]

Is a parallel array to Options that carries display labels for enum values.

optionsstring[]

Is the ordered list of permitted string values for FieldTypeEnum.

related_fieldstring

Is the name of the foreign-key field on the related table.

related_tablestring

Is the name of the target table for relation fields.

relation_label_fieldstring

Names the field on the related record that the UI should show as the dropdown label.

requiredboolean

Marks the field as non-nullable / mandatory.

typeFieldTyperequired

Enumerates the supported field data types.

indexesIndex[]

Is the optional list of secondary indexes defined on the table.

fieldsstring[]

Is the ordered list of field names covered by the index.

namestringrequired

Is the index identifier and must be unique within its table.

uniqueboolean

Enforces that no two records share the same value combination for the indexed fields.

namestringrequired

Is the table identifier and must be unique within a Schema.

versionedboolean

Adds the per-record `version` counter and `version_owner_id` columns to this table.

updated_atstring (date-time)required

Is the UTC timestamp of the most recent successful migration.

user_idstringrequired

Is the owner identifier, stored in _schema_metadata by SQL backends.

versioninteger (int64)required

Is the applied migration count.

limitinteger (int64)required

Is the page size that was applied to the query.

pageinteger (int64)required

Is the 1-based page number derived from the request's Offset/Limit.

searchListSearchResult[]
fieldstringrequired
highlightinteger (int64)[][]

[[1,6]]

idstringrequired
valuestringrequired
totalinteger (int64)required

Is the total number of records matching the query across all pages (i.e.

403 Forbiddenthe request could not be completed
errorstringrequired
Defaultthe request could not be completed
errorstringrequired
Request

No request body.

200 OK
{
  "items": [
    {
      "created_at": "2024-01-15T09:30:00Z",
      "name": "string",
      "org_id": "string",
      "tables": [
        {
          "audited": true,
          "config": null,
          "description": "string",
          "fields": [
            {
              "default": null,
              "default_source": "string",
              "description": "string",
              "label": "string",
              "name": "string",
              "option_labels": [
                "string"
              ],
              "options": [
                "string"
              ],
              "related_field": "string",
              "related_table": "string",
              "relation_label_field": "string",
              "required": true,
              "type": "string"
            }
          ],
          "indexes": [
            {
              "fields": [
                "string"
              ],
              "name": "string",
              "unique": true
            }
          ],
          "name": "string",
          "versioned": true
        }
      ],
      "updated_at": "2024-01-15T09:30:00Z",
      "user_id": "string",
      "version": 0
    }
  ],
  "limit": 0,
  "page": 0,
  "search": [
    {
      "field": "string",
      "highlight": [
        [
          0
        ]
      ],
      "id": "string",
      "value": "string"
    }
  ],
  "total": 0
}