# MeroFoundry Docs # /mcp-tools The built-in OAuth MCP server has no pages scope. OAuth-connected agents can create models, records, and fields, but cannot author pages: create_page and all pages:* operations are unreachable via OAuth. See [docs/2026-08-11-mcp-oauth-scope-coverage-gap.md](2026-08-11-mcp-oauth-scope-coverage-gap.md). Add a field to a model. type ∈ {varchar,text,integer,decimal,boolean,date,timestamp,uuid,json,reference,file}. reference fields need settings.target_model_id; select needs settings.options. Adding a field reverts the model to draft — re-publish before records work. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "default_value": { "default": null }, "label": { "type": "string" }, "model_id": { "type": "string" }, "name": { "type": "string" }, "position": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null }, "required": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "type": { "type": "string" }, "unique": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "model_id", "name", "label", "type" ], "type": "object" } ``` Create a new application. Returns the application object with its id. **Input schema** ```json { "additionalProperties": false, "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "slug": { "type": "string" } }, "required": [ "name", "slug" ], "type": "object" } ``` SIMPLE MODE (one call): from a field spec, create a data model, add its fields, publish it, and create a model-bound form in simple mode. `fields` = [{name,label?,type,required?,unique?}] with type ∈ the 11 field types. Use this to stand up a working form+model+records in one step. Returns {model_id, form_id, field_ids}. Not transactional: if a later step fails, an earlier-created (possibly unpublished) model/form may remain — inspect with describe_schema and clean up if needed. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "fields": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "model_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "model_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "plural_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "fields" ], "type": "object" } ``` Create a form. Omit model_id for an app-level form; provide it to create a model-bound form. mode defaults to 'advanced'. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "is_default": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null }, "layout": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "mode": { "default": "advanced", "type": "string" }, "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "position": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "style_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name" ], "type": "object" } ``` Create a data model (table). NOTE: records require a PUBLISHED model — after adding fields, call publish_model (or use scaffold_model which publishes for you). **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "is_system": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null }, "label": { "type": "string" }, "name": { "type": "string" }, "plural_label": { "type": "string" }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "label", "plural_label" ], "type": "object" } ``` Create a business rule. condition is a dict describing the trigger condition; actions is a list of action objects to execute when the condition matches. **Input schema** ```json { "additionalProperties": false, "properties": { "actions": { "items": {}, "type": "array" }, "application_id": { "type": "string" }, "condition": { "additionalProperties": true, "type": "object" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "phase": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "trigger": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "condition", "actions" ], "type": "object" } ``` Archive/delete an application. Destructive, not reversible. Returns {deleted, application_id}. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" } }, "required": [ "application_id" ], "type": "object" } ``` Delete a field from a model. Destructive, not reversible. Returns {deleted, field_id}. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "field_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id", "field_id" ], "type": "object" } ``` Delete a form. Destructive, not reversible. Returns {deleted, form_id}. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "form_id": { "type": "string" } }, "required": [ "application_id", "form_id" ], "type": "object" } ``` Delete a model and all its records. Destructive, not reversible. Returns {deleted, model_id}. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id" ], "type": "object" } ``` Delete one record by id. Destructive, not reversible. Returns {deleted, record_id}. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" }, "record_id": { "type": "string" } }, "required": [ "application_id", "model_id", "record_id" ], "type": "object" } ``` List an application's data models and their fields (name, type, required). Call this FIRST to learn the schema before querying or writing records. Returns {application_id, models:[{id,name,label,fields}]}. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" } }, "required": [ "application_id" ], "type": "object" } ``` Publish a model's schema so records can be created/queried. Required after creating/changing fields. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id" ], "type": "object" } ``` Read records. `filters` maps field -> {operator: value}, operator 'contains' or 'prefix', e.g. {'company': {'contains': 'Acme'}}. Paginate with page/per_page (max 100). Returns {items, total, page, per_page}. Use describe_schema first for field names. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "filters": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "model_id": { "type": "string" }, "order": { "default": "asc", "type": "string" }, "page": { "default": 1, "type": "integer" }, "per_page": { "default": 25, "type": "integer" }, "sort": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "model_id" ], "type": "object" } ``` Trigger business-rule evaluation for an event. `event` is a dict describing the record event (e.g. {'type': 'record_save', 'data': {...}}); optionally scope with model_id/record_id and phase ('PRE_SAVE'|'POST_SAVE'). Returns matched_rule_ids, record_updates, errors, blocked. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "context": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "event": { "additionalProperties": true, "type": "object" }, "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "phase": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "record_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "event" ], "type": "object" } ``` FAST PATH: create a model, add all its fields, and publish it in one call (handles the publish-before-records requirement for you). `fields` is a list of {name, label?, type, required?, unique?, default_value?, settings?}; type ∈ {varchar,text,integer,decimal,boolean,date,timestamp,uuid,json,reference,file}. Returns {model_id, field_ids, published}. Not transactional: if a later step fails, an earlier-created (possibly unpublished) model may remain — inspect with describe_schema and clean up if needed. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "fields": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "label": { "type": "string" }, "name": { "type": "string" }, "plural_label": { "type": "string" }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "label", "plural_label", "fields" ], "type": "object" } ``` Dry-run a rule (condition + actions) against a context without persisting. Returns matched state and what actions would execute. **Input schema** ```json { "additionalProperties": false, "properties": { "actions": { "items": {}, "type": "array" }, "application_id": { "type": "string" }, "condition": { "additionalProperties": true, "type": "object" }, "context": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "condition", "actions" ], "type": "object" } ``` Update an application's metadata. `data` is a partial field->value map. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" } }, "required": [ "application_id", "data" ], "type": "object" } ``` Update a field's metadata. `data` is a partial field->value map. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "field_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id", "field_id", "data" ], "type": "object" } ``` Update a form's metadata or layout. `data` is a partial field->value map. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "form_id": { "type": "string" } }, "required": [ "application_id", "form_id", "data" ], "type": "object" } ``` Update a model's metadata (name, label, etc.). `data` is a partial field->value map. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id", "data" ], "type": "object" } ``` Create or update one record. Omit record_id to CREATE (pass idempotency_key so retries are safe — same key returns the same record). Pass record_id to UPDATE. `data` is a field->value map. **Input schema** ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "idempotency_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "model_id": { "type": "string" }, "record_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "model_id", "data" ], "type": "object" } ``` # MCP tools ## `add_field` Add a field to a model. type ∈ {varchar,text,integer,decimal,boolean,date,timestamp,uuid,json,reference,file}. reference fields need settings.target_model_id; select needs settings.options. Adding a field reverts the model to draft — re-publish before records work. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "default_value": { "default": null }, "label": { "type": "string" }, "model_id": { "type": "string" }, "name": { "type": "string" }, "position": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null }, "required": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "type": { "type": "string" }, "unique": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "model_id", "name", "label", "type" ], "type": "object" } ``` ## `create_application` Create a new application. Returns the application object with its id. ```json { "additionalProperties": false, "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "slug": { "type": "string" } }, "required": [ "name", "slug" ], "type": "object" } ``` ## `create_form_simple` SIMPLE MODE (one call): from a field spec, create a data model, add its fields, publish it, and create a model-bound form in simple mode. `fields` = [{name,label?,type,required?,unique?}] with type ∈ the 11 field types. Use this to stand up a working form+model+records in one step. Returns {model_id, form_id, field_ids}. Not transactional: if a later step fails, an earlier-created (possibly unpublished) model/form may remain — inspect with describe_schema and clean up if needed. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "fields": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "model_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "model_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "plural_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "fields" ], "type": "object" } ``` ## `create_page` Create a page. Provide name and slug; optional title, type, layout, and is_home. layout is a raw dict passthrough for the page block tree. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "is_home": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null }, "layout": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "slug": { "type": "string" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "slug" ], "type": "object" } ``` ## `define_form` Create a form. Omit model_id for an app-level form; provide it to create a model-bound form. mode defaults to 'advanced'. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "is_default": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null }, "layout": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "mode": { "default": "advanced", "type": "string" }, "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "position": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "style_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name" ], "type": "object" } ``` ## `define_model` Create a data model (table). NOTE: records require a PUBLISHED model — after adding fields, call publish_model (or use scaffold_model which publishes for you). ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "is_system": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null }, "label": { "type": "string" }, "name": { "type": "string" }, "plural_label": { "type": "string" }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "label", "plural_label" ], "type": "object" } ``` ## `define_rule` Create a business rule. condition is a dict describing the trigger condition; actions is a list of action objects to execute when the condition matches. ```json { "additionalProperties": false, "properties": { "actions": { "items": {}, "type": "array" }, "application_id": { "type": "string" }, "condition": { "additionalProperties": true, "type": "object" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "name": { "type": "string" }, "phase": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "trigger": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "condition", "actions" ], "type": "object" } ``` ## `delete_application` Archive/delete an application. Destructive, not reversible. Returns {deleted, application_id}. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" } }, "required": [ "application_id" ], "type": "object" } ``` ## `delete_field` Delete a field from a model. Destructive, not reversible. Returns {deleted, field_id}. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "field_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id", "field_id" ], "type": "object" } ``` ## `delete_file` Delete one file by id (removes the stored object). Destructive, not reversible. Returns {deleted, file_id}. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "file_id": { "type": "string" } }, "required": [ "application_id", "file_id" ], "type": "object" } ``` ## `delete_form` Delete a form. Destructive, not reversible. Returns {deleted, form_id}. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "form_id": { "type": "string" } }, "required": [ "application_id", "form_id" ], "type": "object" } ``` ## `delete_model` Delete a model and all its records. Destructive, not reversible. Returns {deleted, model_id}. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id" ], "type": "object" } ``` ## `delete_page` Delete a page. Destructive, not reversible. Returns {deleted, page_id}. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "page_id": { "type": "string" } }, "required": [ "application_id", "page_id" ], "type": "object" } ``` ## `delete_record` Delete one record by id. Destructive, not reversible. Returns {deleted, record_id}. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" }, "record_id": { "type": "string" } }, "required": [ "application_id", "model_id", "record_id" ], "type": "object" } ``` ## `describe_schema` List an application's data models and their fields (name, type, required). Call this FIRST to learn the schema before querying or writing records. Returns {application_id, models:[{id,name,label,fields}]}. Example (describe_schema then query_records): describe_schema reveals a model whose id is 'orders' with a 'customer' text field, so next call query_records(model_id='orders', filters={'customer': {'contains': 'Acme'}}) — filters accept only 'contains'/'prefix'. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" } }, "required": [ "application_id" ], "type": "object" } ``` ## `download_file` Download a file's raw content. Returns {file_id, content_base64, size}; base64-decode content_base64 to get the bytes. For large files prefer get_file and its presigned_url. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "file_id": { "type": "string" } }, "required": [ "application_id", "file_id" ], "type": "object" } ``` ## `get_application` Fetch one application's metadata by id (name, description, status, ...). Use this to confirm an application exists or read its settings; use describe_schema to see its data models, and update_application to change it. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" } }, "required": [ "application_id" ], "type": "object" } ``` ## `get_file` Get one file's metadata: {id, original_name, content_type, size, status, metadata, presigned_url, expires_in, ...}. presigned_url is a short-lived download URL — prefer this over download_file when you only need info or a URL to hand off. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "file_id": { "type": "string" } }, "required": [ "application_id", "file_id" ], "type": "object" } ``` ## `get_model` Fetch one model's full definition by id, including its fields with all attributes (name, type, required, options, ...). Use this for a single model's details; use describe_schema when you need an overview of every model in the application. If you only have the model's name, call describe_schema first to find its id. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id" ], "type": "object" } ``` ## `get_page` Get a page by id, including its raw layout block tree. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "page_id": { "type": "string" } }, "required": [ "application_id", "page_id" ], "type": "object" } ``` ## `get_record` Fetch one record by id. Returns the record dict {id, data: {field: value, ...}, ...}. Use this when you already have a record_id (e.g. from query_records or upsert_record); to search by field values use query_records with filters instead. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" }, "record_id": { "type": "string" } }, "required": [ "application_id", "model_id", "record_id" ], "type": "object" } ``` ## `invoke_service` Invoke a pre-configured outbound service (server-side proxy to its upstream). `method` and `path` address the upstream endpoint (e.g. 'POST', '/v1/chat'); `body` is the upstream JSON payload. The upstream response streams server-side and is aggregated here: returns {output, encoding ('utf-8'|'base64'), size, chunks} plus `json` (the parsed output) when the output is a single JSON document. Requires the services:execute permission. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "body": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "method": { "type": "string" }, "path": { "type": "string" }, "service_id": { "type": "string" } }, "required": [ "application_id", "service_id", "method", "path" ], "type": "object" } ``` ## `list_pages` List pages for an application. Returns {items} with page metadata and layout summaries. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" } }, "required": [ "application_id" ], "type": "object" } ``` ## `publish_model` Publish a model's schema so records can be created/queried. Required after creating/changing fields. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id" ], "type": "object" } ``` ## `query_records` Read records. `filters` maps field -> {operator: value}, operator 'contains' or 'prefix' ONLY (there is no 'equals' operator). Paginate with page/per_page (max 100). Returns {items, total, page, per_page}. Use describe_schema first for field names. Example (describe_schema then query): after describe_schema shows a 'title' text field, query_records(filters={'title': {'contains': 'invoice'}}). Example (equals-style intent): to match a field EXACTLY equal to 'active', do NOT invent an operator; use a contains filter {'status': {'contains': 'active'}} and confirm the returned value in `items`. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "filters": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "model_id": { "type": "string" }, "order": { "default": "asc", "type": "string" }, "page": { "default": 1, "type": "integer" }, "per_page": { "default": 25, "type": "integer" }, "sort": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "model_id" ], "type": "object" } ``` ## `render_page` Render a page by id and return the resolved layout, style, custom_css, and params. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "page_id": { "type": "string" } }, "required": [ "application_id", "page_id" ], "type": "object" } ``` ## `run_rule_event` Trigger business-rule evaluation for an event. `event` is a dict describing the record event (e.g. {'type': 'record_save', 'data': {...}}); optionally scope with model_id/record_id and phase ('PRE_SAVE'|'POST_SAVE'). Returns matched_rule_ids, record_updates, errors, blocked. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "context": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "event": { "additionalProperties": true, "type": "object" }, "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "phase": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "record_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "event" ], "type": "object" } ``` ## `run_saved_query` Execute a stored saved query by id. `params` binds runtime values to ':param_name' placeholders in the query's filter values (e.g. {'min_total': 10}). Returns {columns, rows, total}; row keys are the query's column names, verbatim. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "params": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "saved_query_id": { "type": "string" } }, "required": [ "application_id", "saved_query_id" ], "type": "object" } ``` ## `scaffold_model` FAST PATH: create a model, add all its fields, and publish it in one call (handles the publish-before-records requirement for you). `fields` is a list of {name, label?, type, required?, unique?, default_value?, settings?}; type ∈ {varchar,text,integer,decimal,boolean,date,timestamp,uuid,json,reference,file}. Returns {model_id, field_ids, published}. Not transactional: if a later step fails, an earlier-created (possibly unpublished) model may remain — inspect with describe_schema and clean up if needed. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "fields": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "label": { "type": "string" }, "name": { "type": "string" }, "plural_label": { "type": "string" }, "settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "name", "label", "plural_label", "fields" ], "type": "object" } ``` ## `search_records` Vector/semantic similarity search over records: ranks records by cosine similarity of `vector` (list of finite floats, min length 1 — a precomputed embedding, NOT free text) against the published vector field named `field`. top_k defaults to 10, max 100. Returns {items: [{id, data, _score, ...}]} ordered by _score descending; only public-API fields, vector field values are never returned. For exact field-value lookup use query_records. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "field": { "type": "string" }, "model_id": { "type": "string" }, "top_k": { "default": 10, "type": "integer" }, "vector": { "items": { "type": "number" }, "type": "array" } }, "required": [ "application_id", "model_id", "field", "vector" ], "type": "object" } ``` ## `set_outbound_governance` Update outbound-destination governance (allow-list) for service invokes and outbound webhooks. Each scope (`service_invoke`, `webhook_out`) is a dict with `allowed_hosts` (list of hostnames) and/or `service_calls_per_billing_period` (int >= 0); omit a scope to leave it unchanged. Requires the risky:outbound_destinations:configure permission (risky-approval API-key role). Returns the resulting governance config for both scopes. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "service_invoke": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null }, "webhook_out": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null } }, "required": [ "application_id" ], "type": "object" } ``` ## `test_rule` Dry-run a rule (condition + actions) against a context without persisting. Returns matched state and what actions would execute. ```json { "additionalProperties": false, "properties": { "actions": { "items": {}, "type": "array" }, "application_id": { "type": "string" }, "condition": { "additionalProperties": true, "type": "object" }, "context": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "condition", "actions" ], "type": "object" } ``` ## `update_application` Update an application's metadata. `data` is a partial field->value map. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" } }, "required": [ "application_id", "data" ], "type": "object" } ``` ## `update_field` Update a field's metadata. `data` is a partial field->value map. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "field_id": { "type": "string" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id", "field_id", "data" ], "type": "object" } ``` ## `update_form` Update a form's metadata or layout. `data` is a partial field->value map. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "form_id": { "type": "string" } }, "required": [ "application_id", "form_id", "data" ], "type": "object" } ``` ## `update_model` Update a model's metadata (name, label, etc.). `data` is a partial field->value map. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "model_id": { "type": "string" } }, "required": [ "application_id", "model_id", "data" ], "type": "object" } ``` ## `update_page` Update a page (PATCH -- only the fields you pass are changed). Publishing is a status transition via status='published'; there is no separate publish route/tool. When changing status, also pass layout so the block tree is preserved. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "page_id": { "type": "string" } }, "required": [ "application_id", "page_id", "data" ], "type": "object" } ``` ## `upload_file` Upload a binary file to an application. `content_base64` is the file's bytes encoded as standard base64; `content_type` is its MIME type (e.g. 'image/png', default 'application/octet-stream'). File size/storage limits are enforced server-side. Returns file metadata {id, original_name, content_type, size, status, presigned_url, ...} where presigned_url is a short-lived download URL. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "content_base64": { "type": "string" }, "content_type": { "default": "application/octet-stream", "type": "string" }, "filename": { "type": "string" } }, "required": [ "application_id", "filename", "content_base64" ], "type": "object" } ``` ## `upsert_record` Create or update one record. Omit record_id to CREATE (pass idempotency_key so retries are safe — same key returns the same record). Pass record_id to UPDATE. `data` is a field->value map. ```json { "additionalProperties": false, "properties": { "application_id": { "type": "string" }, "data": { "additionalProperties": true, "type": "object" }, "idempotency_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null }, "model_id": { "type": "string" }, "record_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null } }, "required": [ "application_id", "model_id", "data" ], "type": "object" } ``` # Public API ## `GET /api/v1/public/app/{app_slug}/forms/{form_id}/render` Render Public Form By Slug **operationId:** `render_public_form_by_slug_api_v1_public_app__app_slug__forms__form_id__render_get` ### Parameters ```json [ { "in": "path", "name": "app_slug", "required": true, "schema": { "title": "App Slug", "type": "string" } }, { "in": "path", "name": "form_id", "required": true, "schema": { "format": "uuid", "title": "Form Id", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenderFormResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/app/{app_slug}/forms/{form_id}/submit` Submit Public Form By Slug **operationId:** `submit_public_form_by_slug_api_v1_public_app__app_slug__forms__form_id__submit_post` ### Parameters ```json [ { "in": "path", "name": "app_slug", "required": true, "schema": { "title": "App Slug", "type": "string" } }, { "in": "path", "name": "form_id", "required": true, "schema": { "format": "uuid", "title": "Form Id", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitFormResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/app/{app_slug}/home` Render Public Home Page **operationId:** `render_public_home_page_api_v1_public_app__app_slug__home_get` ### Parameters ```json [ { "in": "path", "name": "app_slug", "required": true, "schema": { "title": "App Slug", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenderPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/app/{app_slug}/{page_path}/render` Render Public Page By Path **operationId:** `render_public_page_by_path_api_v1_public_app__app_slug___page_path__render_get` ### Parameters ```json [ { "in": "path", "name": "app_slug", "required": true, "schema": { "title": "App Slug", "type": "string" } }, { "in": "path", "name": "page_path", "required": true, "schema": { "title": "Page Path", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenderPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications` List applications **operationId:** `listApplications` ### Parameters ```json [ { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ApplicationResponse" }, "title": "Response Listapplications", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications` Create an application **operationId:** `createApplication` ### Parameters ```json [ { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{app_id}/pages/{page_id}/render` Render Public Page **operationId:** `render_public_page_api_v1_public_applications__app_id__pages__page_id__render_get` ### Parameters ```json [ { "in": "path", "name": "app_id", "required": true, "schema": { "format": "uuid", "title": "App Id", "type": "string" } }, { "in": "path", "name": "page_id", "required": true, "schema": { "format": "uuid", "title": "Page Id", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenderPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}` Archive (delete) an application **operationId:** `deleteApplication` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}` Get application metadata **operationId:** `getApplication` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}` Update an application (partial) **operationId:** `updateApplication` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplicationResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/audit/events` List audit events **operationId:** `listAuditEvents` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "query", "name": "actor_type", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Actor Type" } }, { "in": "query", "name": "actor_id", "required": false, "schema": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Actor Id" } }, { "in": "query", "name": "action", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Action" } }, { "in": "query", "name": "date_from", "required": false, "schema": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Date From" } }, { "in": "query", "name": "date_to", "required": false, "schema": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Date To" } }, { "in": "query", "name": "limit", "required": false, "schema": { "default": 50, "title": "Limit", "type": "integer" } }, { "in": "query", "name": "offset", "required": false, "schema": { "default": 0, "title": "Offset", "type": "integer" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AuditEventResponse" }, "title": "Response Listauditevents", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/files/upload` Upload a file **operationId:** `uploadFile` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileUploadResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/files/{file_id}` Delete a file **operationId:** `deleteFile` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "file_id", "required": true, "schema": { "format": "uuid", "title": "File Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/files/{file_id}` Get file metadata and presigned URL **operationId:** `getFile` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "file_id", "required": true, "schema": { "format": "uuid", "title": "File Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileDetailResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/files/{file_id}/download` Download file content **operationId:** `downloadFile` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "file_id", "required": true, "schema": { "format": "uuid", "title": "File Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/forms` List forms **operationId:** `listForm` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/forms` Create a form **operationId:** `createForm` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/forms/{form_id}` Delete a form **operationId:** `deleteForm` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "form_id", "required": true, "schema": { "format": "uuid", "title": "Form Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/forms/{form_id}` Get a form **operationId:** `getForm` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "form_id", "required": true, "schema": { "format": "uuid", "title": "Form Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/forms/{form_id}` Update a form **operationId:** `updateForm` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "form_id", "required": true, "schema": { "format": "uuid", "title": "Form Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/jobs` List jobs **operationId:** `listScheduledJob` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicScheduledJobListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/jobs` Create a scheduledjob **operationId:** `createScheduledJob` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicScheduledJobResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/jobs/{job_id}` Delete a scheduledjob **operationId:** `deleteScheduledJob` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "job_id", "required": true, "schema": { "format": "uuid", "title": "Job Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/jobs/{job_id}` Get a scheduledjob **operationId:** `getScheduledJob` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "job_id", "required": true, "schema": { "format": "uuid", "title": "Job Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicScheduledJobResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/jobs/{job_id}` Update a scheduledjob **operationId:** `updateScheduledJob` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "job_id", "required": true, "schema": { "format": "uuid", "title": "Job Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicScheduledJobResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/jobs/{job_id}/executions` List a scheduled job's executions **operationId:** `listJobExecutions` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "job_id", "required": true, "schema": { "format": "uuid", "title": "Job Id", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "default": 50, "title": "Limit", "type": "integer" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicJobExecutionListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/jobs/{job_id}/run` Run a scheduled job immediately **operationId:** `runScheduledJob` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "job_id", "required": true, "schema": { "format": "uuid", "title": "Job Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicJobExecutionResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models` List models **operationId:** `listModel` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ModelResponse" }, "title": "Response Listmodel", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/models` Create a model **operationId:** `createModel` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelDetailResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/models/{model_id}` Delete a model **operationId:** `deleteModel` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}` Get a model **operationId:** `getModel` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelDetailResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/models/{model_id}` Update a model **operationId:** `updateModel` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelDetailResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}/audit` Get a model's audit trail **operationId:** `getModelAudit` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/RecordAuditLogResponse" }, "title": "Response Getmodelaudit", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}/fields` List fields **operationId:** `listField` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FieldResponse" }, "title": "Response Listfield", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/models/{model_id}/fields` Create a field **operationId:** `createField` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FieldResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/models/{model_id}/fields/{field_id}` Delete a field **operationId:** `deleteField` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "path", "name": "field_id", "required": true, "schema": { "format": "uuid", "title": "Field Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}/fields/{field_id}` Get a field **operationId:** `getField` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "path", "name": "field_id", "required": true, "schema": { "format": "uuid", "title": "Field Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FieldResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/models/{model_id}/fields/{field_id}` Update a field **operationId:** `updateField` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "path", "name": "field_id", "required": true, "schema": { "format": "uuid", "title": "Field Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FieldResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}/forms` List model forms **operationId:** `listModelForms` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/models/{model_id}/forms` Create a form (model-bound) **operationId:** `createModelForm` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/models/{model_id}/publish` Publish a model schema **operationId:** `publishModel` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}/records` List records **operationId:** `listRecord` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 1, "minimum": 1, "title": "Page", "type": "integer" } }, { "in": "query", "name": "per_page", "required": false, "schema": { "default": 25, "maximum": 100, "minimum": 1, "title": "Per Page", "type": "integer" } }, { "in": "query", "name": "sort", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sort" } }, { "in": "query", "name": "order", "required": false, "schema": { "default": "asc", "pattern": "^(asc|desc)$", "title": "Order", "type": "string" } }, { "in": "query", "name": "resolve_references", "required": false, "schema": { "default": false, "title": "Resolve References", "type": "boolean" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/models/{model_id}/records` Create a record **operationId:** `createRecord` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/models/{model_id}/records/search` Search records by vector similarity **operationId:** `searchRecords` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchRecordsResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/models/{model_id}/records/{record_id}` Delete a record **operationId:** `deleteRecord` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "path", "name": "record_id", "required": true, "schema": { "format": "uuid", "title": "Record Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}/records/{record_id}` Get a record **operationId:** `getRecord` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "path", "name": "record_id", "required": true, "schema": { "format": "uuid", "title": "Record Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/models/{model_id}/records/{record_id}` Update a record **operationId:** `updateRecord` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "path", "name": "record_id", "required": true, "schema": { "format": "uuid", "title": "Record Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/models/{model_id}/stats` Get aggregate stats for a model **operationId:** `getModelStats` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "query", "name": "aggregation", "required": false, "schema": { "default": "count", "title": "Aggregation", "type": "string" } }, { "in": "query", "name": "fieldName", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Fieldname" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatsResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/notifications` List notifications **operationId:** `listNotification` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicNotificationListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/notifications` Create a notification **operationId:** `createNotification` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicNotificationResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/notifications/{notification_id}` Delete a notification **operationId:** `deleteNotification` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "notification_id", "required": true, "schema": { "format": "uuid", "title": "Notification Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/notifications/{notification_id}` Get a notification **operationId:** `getNotification` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "notification_id", "required": true, "schema": { "format": "uuid", "title": "Notification Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicNotificationResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/notifications/{notification_id}` Update a notification **operationId:** `updateNotification` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "notification_id", "required": true, "schema": { "format": "uuid", "title": "Notification Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicNotificationResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/notifications/{notification_id}/logs` List a notification's delivery logs **operationId:** `listNotificationLogs` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "notification_id", "required": true, "schema": { "format": "uuid", "title": "Notification Id", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "default": 50, "title": "Limit", "type": "integer" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicNotificationLogListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/notifications/{notification_id}/send` Send a notification **operationId:** `sendNotification` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "notification_id", "required": true, "schema": { "format": "uuid", "title": "Notification Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicSendNotificationResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PUT /api/v1/public/applications/{application_id}/outbound-destination-governance` Update outbound destination governance **operationId:** `updateOutboundDestinationGovernance` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OutboundDestinationGovernanceResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/pages` List pages **operationId:** `listPage` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicPageListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/pages` Create a page **operationId:** `createPage` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/pages/{page_id}` Delete a page **operationId:** `deletePage` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "page_id", "required": true, "schema": { "format": "uuid", "title": "Page Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/pages/{page_id}` Get a page **operationId:** `getPage` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "page_id", "required": true, "schema": { "format": "uuid", "title": "Page Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/pages/{page_id}` Update a page **operationId:** `updatePage` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "page_id", "required": true, "schema": { "format": "uuid", "title": "Page Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/pages/{page_id}/published` Get the published rendering of a page **operationId:** `getPublishedPage` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "page_id", "required": true, "schema": { "format": "uuid", "title": "Page Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicRenderPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/pages/{page_id}/render` Render a page **operationId:** `renderPage` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "page_id", "required": true, "schema": { "format": "uuid", "title": "Page Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicRenderPageResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/queries` Execute an ad-hoc query **operationId:** `executeQuery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QueryResultResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/records/{record_id}/audit` Get a record's audit trail **operationId:** `getRecordAudit` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "record_id", "required": true, "schema": { "format": "uuid", "title": "Record Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/RecordAuditLogResponse" }, "title": "Response Getrecordaudit", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/relationships` List relationships **operationId:** `listRelationship` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicRelationshipListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/relationships` Create a relationship **operationId:** `createRelationship` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicRelationshipResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/relationships/derive` Derive relationships from reference fields **operationId:** `deriveRelationships` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicDeriveRelationshipsResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/relationships/{relationship_id}` Delete a relationship **operationId:** `deleteRelationship` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "relationship_id", "required": true, "schema": { "format": "uuid", "title": "Relationship Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/relationships/{relationship_id}` Get a relationship **operationId:** `getRelationship` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "relationship_id", "required": true, "schema": { "format": "uuid", "title": "Relationship Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicRelationshipResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/relationships/{relationship_id}` Update a relationship **operationId:** `updateRelationship` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "relationship_id", "required": true, "schema": { "format": "uuid", "title": "Relationship Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicRelationshipResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/rules` List rules **operationId:** `listRule` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "query", "name": "model_id", "required": false, "schema": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Model Id" } }, { "in": "query", "name": "is_active", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Active" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RuleListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/rules` Create a rule **operationId:** `createRule` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RuleResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/rules/events` Evaluate a frontend rule event **operationId:** `evaluateRuleEvent` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FrontendRuleEventResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/rules/test` Test a rule **operationId:** `testRule` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TestRuleResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/rules/{rule_id}` Delete a rule **operationId:** `deleteRule` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "rule_id", "required": true, "schema": { "format": "uuid", "title": "Rule Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/rules/{rule_id}` Get a rule **operationId:** `getRule` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "rule_id", "required": true, "schema": { "format": "uuid", "title": "Rule Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RuleResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/rules/{rule_id}` Update a rule **operationId:** `updateRule` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "rule_id", "required": true, "schema": { "format": "uuid", "title": "Rule Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RuleResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/rules/{rule_id}/logs` List rule logs **operationId:** `listRuleLogs` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "rule_id", "required": true, "schema": { "format": "uuid", "title": "Rule Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/RuleLogResponse" }, "title": "Response Listrulelogs", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/saved-queries` List saved-queries **operationId:** `listSavedQuery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SavedQueryListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/saved-queries` Create a savedquery **operationId:** `createSavedQuery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SavedQueryResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/saved-queries/{saved_query_id}` Delete a savedquery **operationId:** `deleteSavedQuery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "saved_query_id", "required": true, "schema": { "format": "uuid", "title": "Saved Query Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/saved-queries/{saved_query_id}` Get a savedquery **operationId:** `getSavedQuery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "saved_query_id", "required": true, "schema": { "format": "uuid", "title": "Saved Query Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SavedQueryResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/saved-queries/{saved_query_id}` Update a savedquery **operationId:** `updateSavedQuery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "saved_query_id", "required": true, "schema": { "format": "uuid", "title": "Saved Query Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SavedQueryResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/saved-queries/{saved_query_id}/execute` Execute a saved query **operationId:** `executeSavedQuery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "saved_query_id", "required": true, "schema": { "format": "uuid", "title": "Saved Query Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QueryResultResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/services/{service_id}/invoke/stream` Stream invoke a configured service **operationId:** `streamInvokeService` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "service_id", "required": true, "schema": { "format": "uuid", "title": "Service Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/webhooks` List webhooks **operationId:** `listWebhook` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicWebhookListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/webhooks` Create a webhook **operationId:** `createWebhook` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicWebhookResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/applications/{application_id}/webhooks/{webhook_id}` Delete a webhook **operationId:** `deleteWebhook` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "title": "Webhook Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/webhooks/{webhook_id}` Get a webhook **operationId:** `getWebhook` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "title": "Webhook Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicWebhookResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/applications/{application_id}/webhooks/{webhook_id}` Update a webhook **operationId:** `updateWebhook` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "title": "Webhook Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicWebhookResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `GET /api/v1/public/applications/{application_id}/webhooks/{webhook_id}/deliveries` List a webhook's delivery attempts **operationId:** `listWebhookDeliveries` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "title": "Webhook Id", "type": "string" } }, { "in": "query", "name": "limit", "required": false, "schema": { "default": 50, "title": "Limit", "type": "integer" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicWebhookDeliveryListResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/applications/{application_id}/webhooks/{webhook_id}/redeliver/{delivery_id}` Redeliver a webhook delivery **operationId:** `redeliverWebhookDelivery` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "title": "Webhook Id", "type": "string" } }, { "in": "path", "name": "delivery_id", "required": true, "schema": { "format": "uuid", "title": "Delivery Id", "type": "string" } }, { "in": "header", "name": "X-API-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicWebhookDeliveryResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/apps/{application_id}/models/{model_id}/records` Consumer Create Record **operationId:** `consumer_create_record_api_v1_public_apps__application_id__models__model_id__records_post` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "model_id", "required": true, "schema": { "format": "uuid", "title": "Model Id", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `DELETE /api/v1/public/apps/{application_id}/records/{record_id}` Consumer Delete Record **operationId:** `consumer_delete_record_api_v1_public_apps__application_id__records__record_id__delete` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "record_id", "required": true, "schema": { "format": "uuid", "title": "Record Id", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `PATCH /api/v1/public/apps/{application_id}/records/{record_id}` Consumer Update Record **operationId:** `consumer_update_record_api_v1_public_apps__application_id__records__record_id__patch` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "record_id", "required": true, "schema": { "format": "uuid", "title": "Record Id", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ``` ## `POST /api/v1/public/apps/{application_id}/records/{record_id}/actions/{action_key}` Public Record Action **operationId:** `public_record_action_api_v1_public_apps__application_id__records__record_id__actions__action_key__post` ### Parameters ```json [ { "in": "path", "name": "application_id", "required": true, "schema": { "format": "uuid", "title": "Application Id", "type": "string" } }, { "in": "path", "name": "record_id", "required": true, "schema": { "format": "uuid", "title": "Record Id", "type": "string" } }, { "in": "path", "name": "action_key", "required": true, "schema": { "title": "Action Key", "type": "string" } }, { "in": "header", "name": "authorization", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization" } } ] ``` ### Responses ```json { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecordResponse" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } } ```