Skip to content

Latest commit

 

History

History
1520 lines (934 loc) · 91.3 KB

File metadata and controls

1520 lines (934 loc) · 91.3 KB
title Protocol
description Protocol protocol schemas

{/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */}

Response for GET /api/v1/automation/actions (ADR-0018).

Returns the live action/node registry — the platform's built-in actions plus

any plugin-contributed ones — backing the designer palette and flow

validation. Each entry is a canonical ActionDescriptorSchema.

**Source:** `packages/spec/src/api/protocol.zod.ts`

TypeScript Usage

import { AiAgentCapabilities, AiAgentChatRequest, AiAgentSummary, AiAgentsResponse, AiChatRequest, AiChatResponse, AiCompleteRequest, AiConversation, AiMessage, AiModelsResponse, AiPendingAction, AiPendingActionStatus, AiStreamChunk, ApproveAiPendingActionResponse, AutomationActionsResponse, AutomationTriggerRequest, AutomationTriggerResponse, BatchDataRequest, BatchDataResponse, CheckPermissionRequest, CheckPermissionResponse, CreateAiConversationRequest, CreateDataRequest, CreateDataResponse, CreateManyDataRequest, CreateManyDataResponse, CreateViewRequest, CreateViewResponse, DeleteDataRequest, DeleteDataResponse, DeleteManyDataRequest, DeleteManyDataResponse, DeleteMetaItemRequest, DeleteMetaItemResponse, DeleteViewRequest, DeleteViewResponse, FindDataRequest, FindDataResponse, GetDataRequest, GetDataResponse, GetDiscoveryRequest, GetDiscoveryResponse, GetEffectivePermissionsRequest, GetEffectivePermissionsResponse, GetFieldLabelsRequest, GetFieldLabelsResponse, GetLocalesRequest, GetLocalesResponse, GetMetaItemCachedRequest, GetMetaItemCachedResponse, GetMetaItemRequest, GetMetaItemResponse, GetMetaItemsRequest, GetMetaItemsResponse, GetMetaTypesRequest, GetMetaTypesResponse, GetNotificationPreferencesRequest, GetNotificationPreferencesResponse, GetObjectPermissionsRequest, GetObjectPermissionsResponse, GetPresenceRequest, GetPresenceResponse, GetTranslationsRequest, GetTranslationsResponse, GetUiViewRequest, GetUiViewResponse, GetViewRequest, GetViewResponse, GetWorkflowConfigRequest, GetWorkflowConfigResponse, GetWorkflowStateRequest, GetWorkflowStateResponse, HttpFindQueryParams, ListAiConversationsRequest, ListAiConversationsResponse, ListAiPendingActionsRequest, ListAiPendingActionsResponse, ListNotificationsRequest, ListNotificationsResponse, ListViewsRequest, ListViewsResponse, MarkAllNotificationsReadRequest, MarkAllNotificationsReadResponse, MarkNotificationsReadRequest, MarkNotificationsReadResponse, NotificationPreferences, RealtimeConnectRequest, RealtimeConnectResponse, RealtimeDisconnectRequest, RealtimeDisconnectResponse, RealtimeSubscribeRequest, RealtimeSubscribeResponse, RealtimeUnsubscribeRequest, RealtimeUnsubscribeResponse, RegisterDeviceRequest, RegisterDeviceResponse, RejectAiPendingActionResponse, SaveMetaItemRequest, SaveMetaItemResponse, SetPresenceRequest, SetPresenceResponse, UnregisterDeviceRequest, UnregisterDeviceResponse, UpdateAiConversationRequest, UpdateDataRequest, UpdateDataResponse, UpdateManyDataRequest, UpdateManyDataResponse, UpdateNotificationPreferencesRequest, UpdateNotificationPreferencesResponse, UpdateViewRequest, UpdateViewResponse, WorkflowState, WorkflowTransitionRequest, WorkflowTransitionResponse } from '@objectstack/spec/api';
import type { AiAgentCapabilities, AiAgentChatRequest, AiAgentSummary, AiAgentsResponse, AiChatRequest, AiChatResponse, AiCompleteRequest, AiConversation, AiMessage, AiModelsResponse, AiPendingAction, AiPendingActionStatus, AiStreamChunk, ApproveAiPendingActionResponse, AutomationActionsResponse, AutomationTriggerRequest, AutomationTriggerResponse, BatchDataRequest, BatchDataResponse, CheckPermissionRequest, CheckPermissionResponse, CreateAiConversationRequest, CreateDataRequest, CreateDataResponse, CreateManyDataRequest, CreateManyDataResponse, CreateViewRequest, CreateViewResponse, DeleteDataRequest, DeleteDataResponse, DeleteManyDataRequest, DeleteManyDataResponse, DeleteMetaItemRequest, DeleteMetaItemResponse, DeleteViewRequest, DeleteViewResponse, FindDataRequest, FindDataResponse, GetDataRequest, GetDataResponse, GetDiscoveryRequest, GetDiscoveryResponse, GetEffectivePermissionsRequest, GetEffectivePermissionsResponse, GetFieldLabelsRequest, GetFieldLabelsResponse, GetLocalesRequest, GetLocalesResponse, GetMetaItemCachedRequest, GetMetaItemCachedResponse, GetMetaItemRequest, GetMetaItemResponse, GetMetaItemsRequest, GetMetaItemsResponse, GetMetaTypesRequest, GetMetaTypesResponse, GetNotificationPreferencesRequest, GetNotificationPreferencesResponse, GetObjectPermissionsRequest, GetObjectPermissionsResponse, GetPresenceRequest, GetPresenceResponse, GetTranslationsRequest, GetTranslationsResponse, GetUiViewRequest, GetUiViewResponse, GetViewRequest, GetViewResponse, GetWorkflowConfigRequest, GetWorkflowConfigResponse, GetWorkflowStateRequest, GetWorkflowStateResponse, HttpFindQueryParams, ListAiConversationsRequest, ListAiConversationsResponse, ListAiPendingActionsRequest, ListAiPendingActionsResponse, ListNotificationsRequest, ListNotificationsResponse, ListViewsRequest, ListViewsResponse, MarkAllNotificationsReadRequest, MarkAllNotificationsReadResponse, MarkNotificationsReadRequest, MarkNotificationsReadResponse, NotificationPreferences, RealtimeConnectRequest, RealtimeConnectResponse, RealtimeDisconnectRequest, RealtimeDisconnectResponse, RealtimeSubscribeRequest, RealtimeSubscribeResponse, RealtimeUnsubscribeRequest, RealtimeUnsubscribeResponse, RegisterDeviceRequest, RegisterDeviceResponse, RejectAiPendingActionResponse, SaveMetaItemRequest, SaveMetaItemResponse, SetPresenceRequest, SetPresenceResponse, UnregisterDeviceRequest, UnregisterDeviceResponse, UpdateAiConversationRequest, UpdateDataRequest, UpdateDataResponse, UpdateManyDataRequest, UpdateManyDataResponse, UpdateNotificationPreferencesRequest, UpdateNotificationPreferencesResponse, UpdateViewRequest, UpdateViewResponse, WorkflowState, WorkflowTransitionRequest, WorkflowTransitionResponse } from '@objectstack/spec/api';

// Validate data
const result = AiAgentCapabilities.parse(data);

AiAgentCapabilities

Properties

Property Type Required Description
authoring boolean Authors app metadata (objects/views/flows)
canvas boolean Drives the Live Canvas split view (ADR-0037)
debug boolean Exposes the build-doctor debug drawer
resume boolean Turns resume durable multi-step runs (ADR-0013)

AiAgentChatRequest

Properties

Property Type Required Description
messages Record<string, any>[] Conversation messages (at least one)
context Record<string, any> optional Agent context (app, object, record, …)
options Record<string, any> optional Request options (model, temperature, …)

AiAgentSummary

Properties

Property Type Required Description
name string Agent name — the :agentName path segment
label string Display label
role string Agent role
capabilities { authoring: boolean; canvas: boolean; debug: boolean; resume: boolean } Capability set implied by the agent surface

AiAgentsResponse

Properties

Property Type Required Description
agents { name: string; label: string; role: string; capabilities: object }[] Agents this caller may chat with

AiChatRequest

Properties

Property Type Required Description
messages Record<string, any>[] Conversation messages (at least one)
system string optional System prompt, prepended as a system message
model string optional Model id override
temperature number optional Sampling temperature
maxTokens integer optional Maximum tokens to generate
stream boolean optional false → JSON response; otherwise the UI Message Stream Protocol
conversationId string optional Conversation to persist this turn into (auto-created when omitted)
turnId string optional Stable per-turn idempotency key (ADR-0013 D1)
options Record<string, any> optional Legacy nested request options

AiChatResponse

Properties

Property Type Required Description
content string Generated text
model string optional Model that produced it
toolCalls any[] optional Tool calls the model requested (Vercel ToolCallPart)
usage { promptTokens: number; completionTokens: number; totalTokens: number } optional Token usage
conversationId string optional Conversation the turn was persisted into

AiCompleteRequest

Properties

Property Type Required Description
prompt string Prompt text
options Record<string, any> optional Request options (model, temperature, maxTokens, …)

AiConversation

Properties

Property Type Required Description
id string Conversation id
title string optional Title / summary
agentId string optional Agent this conversation is bound to
userId string optional Owning user
messages Record<string, any>[] Message history
createdAt string Creation timestamp (ISO 8601)
updatedAt string Last update timestamp (ISO 8601)
metadata Record<string, any> optional Conversation metadata

AiMessage

Properties

Property Type Required Description
role Enum<'system' | 'user' | 'assistant' | 'tool'> Message role
content any optional Message content: a string, or an array of content parts
parts any[] optional Vercel AI SDK v6 message parts (alternative to content)

AiModelsResponse

Properties

Property Type Required Description
models string | { id: string; label: string; default: boolean }[] Models this environment offers
defaultModel string optional Default model id, when the service reports one

AiPendingAction

Properties

Property Type Required Description
id string Pending action id
object_name string Object the action targets
action_name string Action name
tool_name string Tool that would execute it
tool_input string Serialized tool input
status Enum<'pending' | 'approved' | 'executed' | 'failed' | 'rejected'> Lifecycle status
result string optional Serialized result, once executed
error string optional Failure message, when status is failed
rejection_reason string optional Reason given at rejection
conversation_id string optional Conversation that proposed it
message_id string optional Message that proposed it
proposed_by string optional Actor that proposed it
decided_by string optional Actor that approved or rejected it
proposed_at string Proposal timestamp (ISO 8601)
decided_at string optional Decision timestamp (ISO 8601)

AiPendingActionStatus

Allowed Values

  • pending
  • approved
  • executed
  • failed
  • rejected

AiStreamChunk

Properties

Property Type Required Description
type string Frame type (text-delta, tool-input-available, finish, error, …)

ApproveAiPendingActionResponse

Properties

Property Type Required Description
status Enum<'executed' | 'failed'> Outcome of executing the approved action
result any optional Tool result, when executed
error string optional Failure reason, when failed

AutomationActionsResponse

Properties

Property Type Required Description
actions { type: string; version: string; name: string; description?: string; … }[] Registered action descriptors (built-in + plugin)
total integer Number of descriptors returned (after any filters)

AutomationTriggerRequest

Properties

Property Type Required Description
trigger string
payload Record<string, any>

AutomationTriggerResponse

Properties

Property Type Required Description
success boolean
jobId string optional
result any optional

BatchDataRequest

Properties

Property Type Required Description
object string Object name
request { operation: Enum<'create' | 'update' | 'upsert' | 'delete'>; records: { id?: string; data?: Record<string, any>; externalId?: string }[]; options?: object } Batch operation request

BatchDataResponse

Properties

Property Type Required Description
success boolean Operation success status
error { code: Enum<'VALIDATION_ERROR' | 'INVALID_FIELD' | 'MISSING_REQUIRED_FIELD' | 'INVALID_FORMAT' | 'VALUE_TOO_LONG' | 'VALUE_TOO_SHORT' | 'VALUE_OUT_OF_RANGE' | 'INVALID_REFERENCE' | 'DUPLICATE_VALUE' | 'INVALID_QUERY' | 'INVALID_FILTER' | 'INVALID_SORT' | 'MAX_RECORDS_EXCEEDED' | 'UNAUTHENTICATED' | 'INVALID_CREDENTIALS' | 'EXPIRED_TOKEN' | 'INVALID_TOKEN' | 'SESSION_EXPIRED' | 'MFA_REQUIRED' | 'EMAIL_NOT_VERIFIED' | 'PERMISSION_DENIED' | 'INSUFFICIENT_PRIVILEGES' | 'FIELD_NOT_ACCESSIBLE' | 'RECORD_NOT_ACCESSIBLE' | 'LICENSE_REQUIRED' | 'IP_RESTRICTED' | 'TIME_RESTRICTED' | 'RESOURCE_NOT_FOUND' | 'OBJECT_NOT_FOUND' | 'RECORD_NOT_FOUND' | 'FIELD_NOT_FOUND' | 'ENDPOINT_NOT_FOUND' | 'RESOURCE_CONFLICT' | 'CONCURRENT_MODIFICATION' | 'DELETE_RESTRICTED' | 'DUPLICATE_RECORD' | 'LOCK_CONFLICT' | 'METHOD_NOT_ALLOWED' | 'PRECONDITION_REQUIRED' | 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'CONCURRENT_LIMIT_EXCEEDED' | 'INTERNAL_ERROR' | 'DATABASE_ERROR' | 'TIMEOUT' | 'SERVICE_UNAVAILABLE' | 'NOT_IMPLEMENTED' | 'EXTERNAL_SERVICE_ERROR' | 'INTEGRATION_ERROR' | 'WEBHOOK_DELIVERY_FAILED' | 'BATCH_PARTIAL_FAILURE' | 'BATCH_COMPLETE_FAILURE' | 'TRANSACTION_FAILED' | 'ACCOUNT_LOCKED' | 'ALREADY_REVERTED' | 'AMBIGUOUS_MATCH' | 'ANALYTICS_QUERY_FAILED' | 'APPROVAL_ACTIONS_FAILED' | 'APPROVAL_RECALL_FAILED' | 'APPROVAL_REQUEST_GET_FAILED' | 'APPROVAL_REQUEST_LIST_FAILED' | 'ASYNC_NOT_SUPPORTED' | 'ATTACHMENT_DELETE_DENIED' | 'ATTACHMENT_DOWNLOAD_DENIED' | 'ATTACHMENT_PARENT_ACCESS' | 'AUDIENCE_NOT_ALLOWED' | 'AUTH_CONFIG_ERROR' | 'AUTH_REQUIRED' | 'AUTOMATION_UNSCOPED_RUN_DATA_ACCESS' | 'BATCH_ABORTED' | 'BATCH_NOT_ATOMIC' | 'BATCH_TOO_LARGE' | 'BATCH_UNRESOLVED_REF' | 'BLANK_MATCH_KEY' | 'CLONE_DISABLED' | 'CLOUD_FETCH_FAILED' | 'CLOUD_UNCONFIGURED' | 'COMMIT_NOT_FOUND' | 'CONCURRENT_UPDATE' | 'CONFLICTING_MAPPING' | 'CONNECTOR_UPSTREAM_UNAVAILABLE' | 'CREATE_FAILED' | 'CUBE_NOT_FOUND' | 'DATASET_INVALID' | 'DATASOURCE_ADMIN_ERROR' | 'DELEGABLE_SCOPE_FAILED' | 'DELIVERY_NOT_ELIGIBLE' | 'DESTRUCTIVE_CHANGE' | 'DEVICE_CODE_FAILED' | 'DOMAIN_VERIFICATION_DISABLED' | 'DOMAIN_VERIFICATION_FAILED' | 'DRIVER_UNAVAILABLE' | 'DUPLICATE_REQUEST' | 'EMAIL_SEND_FAILED' | 'EMAIL_SERVICE_REQUIRED' | 'ENQUEUE_FAILED' | 'ENVIRONMENT_BIND_FAILED' | 'ENVIRONMENT_NOT_FOUND' | 'ENV_ACCESS_DENIED' | 'ERR_BULK_RESULT_MISMATCH' | 'ERR_DATASOURCE_UNAVAILABLE' | 'ERR_DRIVER_CONNECT' | 'ERR_FILE_CONSTRAINT' | 'ERR_FILE_REFERENCE_COPY' | 'ERR_SUMMARY_RECOMPUTE' | 'EXECUTION_ERROR' | 'EXPIRED_OR_REVOKED' | 'EXPIRY_IN_PAST' | 'EXPIRY_TOO_LONG' | 'EXPLAIN_FAILED' | 'EXPORT_NOT_PERMITTED' | 'EXTERNAL_DATASOURCE_ERROR' | 'EXTERNAL_IMPORT_ERROR' | 'EXTERNAL_SCHEMA_MISMATCH' | 'EXTERNAL_SCHEMA_MODE_VIOLATION' | 'EXTERNAL_WRITE_FORBIDDEN' | 'FEEDS_DISABLED' | 'FILES_DISABLED' | 'FILE_DOWNLOAD_DENIED' | 'FILE_NOT_FOUND' | 'FILTER_TOKEN_UNKNOWN' | 'FILTER_TOKEN_UNRESOLVED' | 'FORBIDDEN' | 'FORM_NOT_FOUND' | 'FORM_RESOLVE_FAILED' | 'IMPORT_JOB_CREATE_FAILED' | 'IMPORT_ROW_FAILED' | 'INTERNAL' | 'INVALID_EMAIL' | 'INVALID_EXPIRY' | 'INVALID_METADATA' | 'INVALID_OR_EXPIRED' | 'INVALID_PHONE' | 'INVALID_REQUEST' | 'INVALID_RESUME_TOKEN' | 'INVALID_SIGNAL' | 'INVALID_SIGNATURE' | 'INVALID_STATE' | 'INVITE_EMAIL_FAILED' | 'INVITE_REQUIRES_EMAIL' | 'INVITE_SMS_FAILED' | 'IP_NOT_ALLOWED' | 'ITEM_LOCKED' | 'LAST_LOCAL_CREDENTIAL' | 'LOOKUP_NOT_PUBLIC' | 'LOOKUP_TARGET_MISSING' | 'MANIFEST_CONFLICT' | 'MAPPING_FORMAT_MISMATCH' | 'MAPPING_FORMAT_UNSUPPORTED' | 'MAPPING_NOT_FOUND' | 'MAPPING_TARGET_MISMATCH' | 'MARKETPLACE_PROXY_FAILED' | 'MARKETPLACE_STORAGE_FAILED' | 'MARKETPLACE_UNAVAILABLE' | 'METADATA_BRANCH' | 'METADATA_CONFLICT' | 'METADATA_NOT_FOUND' | 'METADATA_SCHEMA_INVALID' | 'MONGODB_MULTI_TENANT_UNSUPPORTED' | 'NAMESPACE_PREFIX' | 'NEEDS_PASSWORD' | 'NODE_FAILURE' | 'NOTHING_TO_PURGE' | 'NOT_CREATABLE' | 'NOT_FOUND' | 'NOT_OVERRIDABLE' | 'NOT_UNDOABLE' | 'NO_DRAFT' | 'NO_EXECUTOR' | 'NO_IDENTITY' | 'NO_MATCH' | 'NO_PENDING_VERIFICATION' | 'OAUTH_REGISTER_FAILED' | 'OBJECT_API_DISABLED' | 'OBJECT_API_METHOD_NOT_ALLOWED' | 'OPENAPI_UNAVAILABLE' | 'OS_PROTOCOL_INCOMPATIBLE' | 'OVERLAY_PERSISTENCE_FAILED' | 'PACKAGE_DELETE_FAILED' | 'PACKAGE_DELETE_PARTIAL' | 'PACKAGE_MANIFEST_INVALID' | 'PACKAGE_PUBLISH_FAILED' | 'PASSWORD_ALREADY_SET' | 'PASSWORD_EXPIRED' | 'PASSWORD_POLICY_VIOLATION' | 'PASSWORD_REUSE' | 'PAYLOAD_TOO_LARGE' | 'PERMISSION_NOT_ALLOWED' | 'PHONE_NOT_ENABLED' | 'PLUGIN_INSTALL_FAILED' | 'PLUGIN_MANIFEST_INVALID' | 'PLUGIN_REGISTER_FAILED' | 'PROJECT_MEMBERSHIP_REQUIRED' | 'PROJECT_NOT_FOUND' | 'PROJECT_PROVISIONING' | 'PROJECT_PROVISIONING_FAILED' | 'RAW_SQL_UNSUPPORTED' | 'RECORD_GONE' | 'RECORD_LOCKED' | 'REPORTS_LIST_FAILED' | 'REPORT_DELETE_FAILED' | 'REPORT_GET_FAILED' | 'REPORT_NOT_FOUND' | 'REPORT_RUN_FAILED' | 'REPORT_SAVE_FAILED' | 'REPORT_SCHEDULE_FAILED' | 'REQUEST_NOT_FOUND' | 'RESEED_NO_ROWS' | 'RESEED_SKIPPED' | 'ROUTE_NOT_FOUND' | 'RULE_DEFINE_FAILED' | 'RULE_DELETE_FAILED' | 'RULE_EVALUATE_FAILED' | 'RULE_GET_FAILED' | 'RULE_LIST_FAILED' | 'RULE_NOT_FOUND' | 'SAML_REGISTER_FAILED' | 'SCHEDULES_LIST_FAILED' | 'SCHEDULE_DELETE_FAILED' | 'SETTINGS_ACTION_FAILED' | 'SETTINGS_FORBIDDEN' | 'SETTINGS_LOCKED' | 'SETTINGS_UNKNOWN_KEY' | 'SETTINGS_UNKNOWN_NAMESPACE' | 'SETTINGS_VALIDATION' | 'SHARES_LIST_FAILED' | 'SHARE_GRANT_FAILED' | 'SHARE_REVOKE_FAILED' | 'SHARING_NOT_ENABLED' | 'SIGN_IN_REQUIRED' | 'SSO_REGISTER_FAILED' | 'SSO_REGISTER_FORBIDDEN' | 'SUGGESTION_CONFIRM_FAILED' | 'SUGGESTION_DISMISS_FAILED' | 'SUGGESTION_LIST_FAILED' | 'SUGGESTION_NOT_FOUND' | 'SUGGESTION_STATE' | 'SUMMARY_RECOMPUTE_FAILED' | 'UNAUTHORIZED' | 'UNIQUE_VIOLATION' | 'UNKNOWN_KEY' | 'UNKNOWN_NAMESPACE' | 'UNSUPPORTED' | 'UNSUPPORTED_QUERY_PARAM' | 'UNSUPPORTED_TRANSFORM' | 'UPLOAD_SESSION_NOT_FOUND' | 'USER_ALREADY_EXISTS' | 'VALIDATION_FAILED' | 'VERSION_NOT_FOUND' | 'VERSION_NOT_RESTORABLE' | 'WRITABLE_PACKAGE_REQUIRED' | 'WRONG_PASSWORD'>; message: string; category?: string; httpStatus?: integer; … } optional Error details if success is false
meta { timestamp: string; duration?: number; requestId?: string; traceId?: string } optional Response metadata
operation Enum<'create' | 'update' | 'upsert' | 'delete'> optional Operation type that was performed
total number Total number of records in the batch
succeeded number Number of records that succeeded
failed number Number of records that failed
results { id?: string; success: boolean; errors?: { code: Enum<'VALIDATION_ERROR' | 'INVALID_FIELD' | 'MISSING_REQUIRED_FIELD' | 'INVALID_FORMAT' | 'VALUE_TOO_LONG' | 'VALUE_TOO_SHORT' | 'VALUE_OUT_OF_RANGE' | 'INVALID_REFERENCE' | 'DUPLICATE_VALUE' | 'INVALID_QUERY' | 'INVALID_FILTER' | 'INVALID_SORT' | 'MAX_RECORDS_EXCEEDED' | 'UNAUTHENTICATED' | 'INVALID_CREDENTIALS' | 'EXPIRED_TOKEN' | 'INVALID_TOKEN' | 'SESSION_EXPIRED' | 'MFA_REQUIRED' | 'EMAIL_NOT_VERIFIED' | 'PERMISSION_DENIED' | 'INSUFFICIENT_PRIVILEGES' | 'FIELD_NOT_ACCESSIBLE' | 'RECORD_NOT_ACCESSIBLE' | 'LICENSE_REQUIRED' | 'IP_RESTRICTED' | 'TIME_RESTRICTED' | 'RESOURCE_NOT_FOUND' | 'OBJECT_NOT_FOUND' | 'RECORD_NOT_FOUND' | 'FIELD_NOT_FOUND' | 'ENDPOINT_NOT_FOUND' | 'RESOURCE_CONFLICT' | 'CONCURRENT_MODIFICATION' | 'DELETE_RESTRICTED' | 'DUPLICATE_RECORD' | 'LOCK_CONFLICT' | 'METHOD_NOT_ALLOWED' | 'PRECONDITION_REQUIRED' | 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'CONCURRENT_LIMIT_EXCEEDED' | 'INTERNAL_ERROR' | 'DATABASE_ERROR' | 'TIMEOUT' | 'SERVICE_UNAVAILABLE' | 'NOT_IMPLEMENTED' | 'EXTERNAL_SERVICE_ERROR' | 'INTEGRATION_ERROR' | 'WEBHOOK_DELIVERY_FAILED' | 'BATCH_PARTIAL_FAILURE' | 'BATCH_COMPLETE_FAILURE' | 'TRANSACTION_FAILED' | 'ACCOUNT_LOCKED' | 'ALREADY_REVERTED' | 'AMBIGUOUS_MATCH' | 'ANALYTICS_QUERY_FAILED' | 'APPROVAL_ACTIONS_FAILED' | 'APPROVAL_RECALL_FAILED' | 'APPROVAL_REQUEST_GET_FAILED' | 'APPROVAL_REQUEST_LIST_FAILED' | 'ASYNC_NOT_SUPPORTED' | 'ATTACHMENT_DELETE_DENIED' | 'ATTACHMENT_DOWNLOAD_DENIED' | 'ATTACHMENT_PARENT_ACCESS' | 'AUDIENCE_NOT_ALLOWED' | 'AUTH_CONFIG_ERROR' | 'AUTH_REQUIRED' | 'AUTOMATION_UNSCOPED_RUN_DATA_ACCESS' | 'BATCH_ABORTED' | 'BATCH_NOT_ATOMIC' | 'BATCH_TOO_LARGE' | 'BATCH_UNRESOLVED_REF' | 'BLANK_MATCH_KEY' | 'CLONE_DISABLED' | 'CLOUD_FETCH_FAILED' | 'CLOUD_UNCONFIGURED' | 'COMMIT_NOT_FOUND' | 'CONCURRENT_UPDATE' | 'CONFLICTING_MAPPING' | 'CONNECTOR_UPSTREAM_UNAVAILABLE' | 'CREATE_FAILED' | 'CUBE_NOT_FOUND' | 'DATASET_INVALID' | 'DATASOURCE_ADMIN_ERROR' | 'DELEGABLE_SCOPE_FAILED' | 'DELIVERY_NOT_ELIGIBLE' | 'DESTRUCTIVE_CHANGE' | 'DEVICE_CODE_FAILED' | 'DOMAIN_VERIFICATION_DISABLED' | 'DOMAIN_VERIFICATION_FAILED' | 'DRIVER_UNAVAILABLE' | 'DUPLICATE_REQUEST' | 'EMAIL_SEND_FAILED' | 'EMAIL_SERVICE_REQUIRED' | 'ENQUEUE_FAILED' | 'ENVIRONMENT_BIND_FAILED' | 'ENVIRONMENT_NOT_FOUND' | 'ENV_ACCESS_DENIED' | 'ERR_BULK_RESULT_MISMATCH' | 'ERR_DATASOURCE_UNAVAILABLE' | 'ERR_DRIVER_CONNECT' | 'ERR_FILE_CONSTRAINT' | 'ERR_FILE_REFERENCE_COPY' | 'ERR_SUMMARY_RECOMPUTE' | 'EXECUTION_ERROR' | 'EXPIRED_OR_REVOKED' | 'EXPIRY_IN_PAST' | 'EXPIRY_TOO_LONG' | 'EXPLAIN_FAILED' | 'EXPORT_NOT_PERMITTED' | 'EXTERNAL_DATASOURCE_ERROR' | 'EXTERNAL_IMPORT_ERROR' | 'EXTERNAL_SCHEMA_MISMATCH' | 'EXTERNAL_SCHEMA_MODE_VIOLATION' | 'EXTERNAL_WRITE_FORBIDDEN' | 'FEEDS_DISABLED' | 'FILES_DISABLED' | 'FILE_DOWNLOAD_DENIED' | 'FILE_NOT_FOUND' | 'FILTER_TOKEN_UNKNOWN' | 'FILTER_TOKEN_UNRESOLVED' | 'FORBIDDEN' | 'FORM_NOT_FOUND' | 'FORM_RESOLVE_FAILED' | 'IMPORT_JOB_CREATE_FAILED' | 'IMPORT_ROW_FAILED' | 'INTERNAL' | 'INVALID_EMAIL' | 'INVALID_EXPIRY' | 'INVALID_METADATA' | 'INVALID_OR_EXPIRED' | 'INVALID_PHONE' | 'INVALID_REQUEST' | 'INVALID_RESUME_TOKEN' | 'INVALID_SIGNAL' | 'INVALID_SIGNATURE' | 'INVALID_STATE' | 'INVITE_EMAIL_FAILED' | 'INVITE_REQUIRES_EMAIL' | 'INVITE_SMS_FAILED' | 'IP_NOT_ALLOWED' | 'ITEM_LOCKED' | 'LAST_LOCAL_CREDENTIAL' | 'LOOKUP_NOT_PUBLIC' | 'LOOKUP_TARGET_MISSING' | 'MANIFEST_CONFLICT' | 'MAPPING_FORMAT_MISMATCH' | 'MAPPING_FORMAT_UNSUPPORTED' | 'MAPPING_NOT_FOUND' | 'MAPPING_TARGET_MISMATCH' | 'MARKETPLACE_PROXY_FAILED' | 'MARKETPLACE_STORAGE_FAILED' | 'MARKETPLACE_UNAVAILABLE' | 'METADATA_BRANCH' | 'METADATA_CONFLICT' | 'METADATA_NOT_FOUND' | 'METADATA_SCHEMA_INVALID' | 'MONGODB_MULTI_TENANT_UNSUPPORTED' | 'NAMESPACE_PREFIX' | 'NEEDS_PASSWORD' | 'NODE_FAILURE' | 'NOTHING_TO_PURGE' | 'NOT_CREATABLE' | 'NOT_FOUND' | 'NOT_OVERRIDABLE' | 'NOT_UNDOABLE' | 'NO_DRAFT' | 'NO_EXECUTOR' | 'NO_IDENTITY' | 'NO_MATCH' | 'NO_PENDING_VERIFICATION' | 'OAUTH_REGISTER_FAILED' | 'OBJECT_API_DISABLED' | 'OBJECT_API_METHOD_NOT_ALLOWED' | 'OPENAPI_UNAVAILABLE' | 'OS_PROTOCOL_INCOMPATIBLE' | 'OVERLAY_PERSISTENCE_FAILED' | 'PACKAGE_DELETE_FAILED' | 'PACKAGE_DELETE_PARTIAL' | 'PACKAGE_MANIFEST_INVALID' | 'PACKAGE_PUBLISH_FAILED' | 'PASSWORD_ALREADY_SET' | 'PASSWORD_EXPIRED' | 'PASSWORD_POLICY_VIOLATION' | 'PASSWORD_REUSE' | 'PAYLOAD_TOO_LARGE' | 'PERMISSION_NOT_ALLOWED' | 'PHONE_NOT_ENABLED' | 'PLUGIN_INSTALL_FAILED' | 'PLUGIN_MANIFEST_INVALID' | 'PLUGIN_REGISTER_FAILED' | 'PROJECT_MEMBERSHIP_REQUIRED' | 'PROJECT_NOT_FOUND' | 'PROJECT_PROVISIONING' | 'PROJECT_PROVISIONING_FAILED' | 'RAW_SQL_UNSUPPORTED' | 'RECORD_GONE' | 'RECORD_LOCKED' | 'REPORTS_LIST_FAILED' | 'REPORT_DELETE_FAILED' | 'REPORT_GET_FAILED' | 'REPORT_NOT_FOUND' | 'REPORT_RUN_FAILED' | 'REPORT_SAVE_FAILED' | 'REPORT_SCHEDULE_FAILED' | 'REQUEST_NOT_FOUND' | 'RESEED_NO_ROWS' | 'RESEED_SKIPPED' | 'ROUTE_NOT_FOUND' | 'RULE_DEFINE_FAILED' | 'RULE_DELETE_FAILED' | 'RULE_EVALUATE_FAILED' | 'RULE_GET_FAILED' | 'RULE_LIST_FAILED' | 'RULE_NOT_FOUND' | 'SAML_REGISTER_FAILED' | 'SCHEDULES_LIST_FAILED' | 'SCHEDULE_DELETE_FAILED' | 'SETTINGS_ACTION_FAILED' | 'SETTINGS_FORBIDDEN' | 'SETTINGS_LOCKED' | 'SETTINGS_UNKNOWN_KEY' | 'SETTINGS_UNKNOWN_NAMESPACE' | 'SETTINGS_VALIDATION' | 'SHARES_LIST_FAILED' | 'SHARE_GRANT_FAILED' | 'SHARE_REVOKE_FAILED' | 'SHARING_NOT_ENABLED' | 'SIGN_IN_REQUIRED' | 'SSO_REGISTER_FAILED' | 'SSO_REGISTER_FORBIDDEN' | 'SUGGESTION_CONFIRM_FAILED' | 'SUGGESTION_DISMISS_FAILED' | 'SUGGESTION_LIST_FAILED' | 'SUGGESTION_NOT_FOUND' | 'SUGGESTION_STATE' | 'SUMMARY_RECOMPUTE_FAILED' | 'UNAUTHORIZED' | 'UNIQUE_VIOLATION' | 'UNKNOWN_KEY' | 'UNKNOWN_NAMESPACE' | 'UNSUPPORTED' | 'UNSUPPORTED_QUERY_PARAM' | 'UNSUPPORTED_TRANSFORM' | 'UPLOAD_SESSION_NOT_FOUND' | 'USER_ALREADY_EXISTS' | 'VALIDATION_FAILED' | 'VERSION_NOT_FOUND' | 'VERSION_NOT_RESTORABLE' | 'WRITABLE_PACKAGE_REQUIRED' | 'WRONG_PASSWORD'>; message: string; category?: string; httpStatus?: integer; … }[]; data?: Record<string, any>; … }[] Detailed results for each record

CheckPermissionRequest

Properties

Property Type Required Description
object string Object name to check permissions for
action Enum<'create' | 'read' | 'edit' | 'delete' | 'transfer' | 'restore' | 'purge'> Action to check
recordId string optional Specific record ID (for record-level checks)
field string optional Specific field name (for field-level checks)

CheckPermissionResponse

Properties

Property Type Required Description
allowed boolean Whether the action is permitted
reason string optional Reason if denied

CreateAiConversationRequest

Properties

Property Type Required Description
title string optional Initial title
agentId string optional Agent to bind the conversation to
metadata Record<string, any> optional Conversation metadata

CreateDataRequest

Properties

Property Type Required Description
object string The object name.
data Record<string, any> The dictionary of field values to insert.

CreateDataResponse

Properties

Property Type Required Description
object string The object name.
id string The ID of the newly created record.
record Record<string, any> The created record, including server-generated fields (created_at, owner).
droppedFields { object: string; fields: string[]; reason: Enum<'readonly' | 'readonly_when'> }[] optional Write-observability (#3407/#3431): caller-supplied fields that were LEGALLY stripped before the record was written — a non-system create cannot seed a static readonly column (#3043 ingress strip), so those keys are dropped and the field re-derives its default. Present ONLY when ≥1 field was dropped; the create still succeeded without them (status/success semantics unchanged). REST additionally surfaces this as the X-ObjectStack-Dropped-Fields response header. Optional — omit-when-empty keeps the shape backward-compatible for existing clients.

CreateManyDataRequest

Properties

Property Type Required Description
object string Object name
records Record<string, any>[] Array of records to create

CreateManyDataResponse

Properties

Property Type Required Description
object string Object name
records Record<string, any>[] Created records
count number Number of records created
droppedFields { object: string; fields: string[]; reason: Enum<'readonly' | 'readonly_when'> }[] optional Write-observability (#3407/#3431/#3455): caller-supplied readonly fields the #3043 create-ingress strip removed before the rows were written. AGGREGATED across the batch (one event per object/reason with the union of dropped field names) rather than per-row, because the insert-time strip is static-readonly only — schema-uniform, so every row drops the same set. Present ONLY when ≥1 field was dropped; the creates still succeeded without them (count/success unchanged). Optional — omit-when-empty keeps the shape backward-compatible. (The per-row insertMany/batch paths carry per-row droppedFields on each result instead — see BatchOperationResultSchema.)

CreateViewRequest

Properties

Property Type Required Description
object string Object name (snake_case)
data { list?: object; form?: object; listViews?: Record<string, { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … }>; formViews?: Record<string, { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … }>; … } View definition to create

CreateViewResponse

Properties

Property Type Required Description
object string Object name
viewId string Created view identifier
view { list?: object; form?: object; listViews?: Record<string, { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … }>; formViews?: Record<string, { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … }>; … } Created view definition

DeleteDataRequest

Properties

Property Type Required Description
object string Object name
id string Record ID to delete
expectedVersion string optional Optimistic concurrency token (typically the updated_at value the client read). When provided, the server compares it against the current record version and returns 409 CONCURRENT_UPDATE if they differ. Optional — omit to skip the check.

DeleteDataResponse

Properties

Property Type Required Description
object string Object name
id string Deleted record ID
success boolean Whether deletion succeeded

DeleteManyDataRequest

Properties

Property Type Required Description
ids string[] Array of record IDs to delete (server caps the count — see batch.maxBatchSize)
options { atomic: boolean; returnRecords: boolean; continueOnError: boolean; validateOnly?: any } optional Delete options
object string Object name

DeleteManyDataResponse

Properties

Property Type Required Description
success boolean Operation success status
error { code: Enum<'VALIDATION_ERROR' | 'INVALID_FIELD' | 'MISSING_REQUIRED_FIELD' | 'INVALID_FORMAT' | 'VALUE_TOO_LONG' | 'VALUE_TOO_SHORT' | 'VALUE_OUT_OF_RANGE' | 'INVALID_REFERENCE' | 'DUPLICATE_VALUE' | 'INVALID_QUERY' | 'INVALID_FILTER' | 'INVALID_SORT' | 'MAX_RECORDS_EXCEEDED' | 'UNAUTHENTICATED' | 'INVALID_CREDENTIALS' | 'EXPIRED_TOKEN' | 'INVALID_TOKEN' | 'SESSION_EXPIRED' | 'MFA_REQUIRED' | 'EMAIL_NOT_VERIFIED' | 'PERMISSION_DENIED' | 'INSUFFICIENT_PRIVILEGES' | 'FIELD_NOT_ACCESSIBLE' | 'RECORD_NOT_ACCESSIBLE' | 'LICENSE_REQUIRED' | 'IP_RESTRICTED' | 'TIME_RESTRICTED' | 'RESOURCE_NOT_FOUND' | 'OBJECT_NOT_FOUND' | 'RECORD_NOT_FOUND' | 'FIELD_NOT_FOUND' | 'ENDPOINT_NOT_FOUND' | 'RESOURCE_CONFLICT' | 'CONCURRENT_MODIFICATION' | 'DELETE_RESTRICTED' | 'DUPLICATE_RECORD' | 'LOCK_CONFLICT' | 'METHOD_NOT_ALLOWED' | 'PRECONDITION_REQUIRED' | 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'CONCURRENT_LIMIT_EXCEEDED' | 'INTERNAL_ERROR' | 'DATABASE_ERROR' | 'TIMEOUT' | 'SERVICE_UNAVAILABLE' | 'NOT_IMPLEMENTED' | 'EXTERNAL_SERVICE_ERROR' | 'INTEGRATION_ERROR' | 'WEBHOOK_DELIVERY_FAILED' | 'BATCH_PARTIAL_FAILURE' | 'BATCH_COMPLETE_FAILURE' | 'TRANSACTION_FAILED' | 'ACCOUNT_LOCKED' | 'ALREADY_REVERTED' | 'AMBIGUOUS_MATCH' | 'ANALYTICS_QUERY_FAILED' | 'APPROVAL_ACTIONS_FAILED' | 'APPROVAL_RECALL_FAILED' | 'APPROVAL_REQUEST_GET_FAILED' | 'APPROVAL_REQUEST_LIST_FAILED' | 'ASYNC_NOT_SUPPORTED' | 'ATTACHMENT_DELETE_DENIED' | 'ATTACHMENT_DOWNLOAD_DENIED' | 'ATTACHMENT_PARENT_ACCESS' | 'AUDIENCE_NOT_ALLOWED' | 'AUTH_CONFIG_ERROR' | 'AUTH_REQUIRED' | 'AUTOMATION_UNSCOPED_RUN_DATA_ACCESS' | 'BATCH_ABORTED' | 'BATCH_NOT_ATOMIC' | 'BATCH_TOO_LARGE' | 'BATCH_UNRESOLVED_REF' | 'BLANK_MATCH_KEY' | 'CLONE_DISABLED' | 'CLOUD_FETCH_FAILED' | 'CLOUD_UNCONFIGURED' | 'COMMIT_NOT_FOUND' | 'CONCURRENT_UPDATE' | 'CONFLICTING_MAPPING' | 'CONNECTOR_UPSTREAM_UNAVAILABLE' | 'CREATE_FAILED' | 'CUBE_NOT_FOUND' | 'DATASET_INVALID' | 'DATASOURCE_ADMIN_ERROR' | 'DELEGABLE_SCOPE_FAILED' | 'DELIVERY_NOT_ELIGIBLE' | 'DESTRUCTIVE_CHANGE' | 'DEVICE_CODE_FAILED' | 'DOMAIN_VERIFICATION_DISABLED' | 'DOMAIN_VERIFICATION_FAILED' | 'DRIVER_UNAVAILABLE' | 'DUPLICATE_REQUEST' | 'EMAIL_SEND_FAILED' | 'EMAIL_SERVICE_REQUIRED' | 'ENQUEUE_FAILED' | 'ENVIRONMENT_BIND_FAILED' | 'ENVIRONMENT_NOT_FOUND' | 'ENV_ACCESS_DENIED' | 'ERR_BULK_RESULT_MISMATCH' | 'ERR_DATASOURCE_UNAVAILABLE' | 'ERR_DRIVER_CONNECT' | 'ERR_FILE_CONSTRAINT' | 'ERR_FILE_REFERENCE_COPY' | 'ERR_SUMMARY_RECOMPUTE' | 'EXECUTION_ERROR' | 'EXPIRED_OR_REVOKED' | 'EXPIRY_IN_PAST' | 'EXPIRY_TOO_LONG' | 'EXPLAIN_FAILED' | 'EXPORT_NOT_PERMITTED' | 'EXTERNAL_DATASOURCE_ERROR' | 'EXTERNAL_IMPORT_ERROR' | 'EXTERNAL_SCHEMA_MISMATCH' | 'EXTERNAL_SCHEMA_MODE_VIOLATION' | 'EXTERNAL_WRITE_FORBIDDEN' | 'FEEDS_DISABLED' | 'FILES_DISABLED' | 'FILE_DOWNLOAD_DENIED' | 'FILE_NOT_FOUND' | 'FILTER_TOKEN_UNKNOWN' | 'FILTER_TOKEN_UNRESOLVED' | 'FORBIDDEN' | 'FORM_NOT_FOUND' | 'FORM_RESOLVE_FAILED' | 'IMPORT_JOB_CREATE_FAILED' | 'IMPORT_ROW_FAILED' | 'INTERNAL' | 'INVALID_EMAIL' | 'INVALID_EXPIRY' | 'INVALID_METADATA' | 'INVALID_OR_EXPIRED' | 'INVALID_PHONE' | 'INVALID_REQUEST' | 'INVALID_RESUME_TOKEN' | 'INVALID_SIGNAL' | 'INVALID_SIGNATURE' | 'INVALID_STATE' | 'INVITE_EMAIL_FAILED' | 'INVITE_REQUIRES_EMAIL' | 'INVITE_SMS_FAILED' | 'IP_NOT_ALLOWED' | 'ITEM_LOCKED' | 'LAST_LOCAL_CREDENTIAL' | 'LOOKUP_NOT_PUBLIC' | 'LOOKUP_TARGET_MISSING' | 'MANIFEST_CONFLICT' | 'MAPPING_FORMAT_MISMATCH' | 'MAPPING_FORMAT_UNSUPPORTED' | 'MAPPING_NOT_FOUND' | 'MAPPING_TARGET_MISMATCH' | 'MARKETPLACE_PROXY_FAILED' | 'MARKETPLACE_STORAGE_FAILED' | 'MARKETPLACE_UNAVAILABLE' | 'METADATA_BRANCH' | 'METADATA_CONFLICT' | 'METADATA_NOT_FOUND' | 'METADATA_SCHEMA_INVALID' | 'MONGODB_MULTI_TENANT_UNSUPPORTED' | 'NAMESPACE_PREFIX' | 'NEEDS_PASSWORD' | 'NODE_FAILURE' | 'NOTHING_TO_PURGE' | 'NOT_CREATABLE' | 'NOT_FOUND' | 'NOT_OVERRIDABLE' | 'NOT_UNDOABLE' | 'NO_DRAFT' | 'NO_EXECUTOR' | 'NO_IDENTITY' | 'NO_MATCH' | 'NO_PENDING_VERIFICATION' | 'OAUTH_REGISTER_FAILED' | 'OBJECT_API_DISABLED' | 'OBJECT_API_METHOD_NOT_ALLOWED' | 'OPENAPI_UNAVAILABLE' | 'OS_PROTOCOL_INCOMPATIBLE' | 'OVERLAY_PERSISTENCE_FAILED' | 'PACKAGE_DELETE_FAILED' | 'PACKAGE_DELETE_PARTIAL' | 'PACKAGE_MANIFEST_INVALID' | 'PACKAGE_PUBLISH_FAILED' | 'PASSWORD_ALREADY_SET' | 'PASSWORD_EXPIRED' | 'PASSWORD_POLICY_VIOLATION' | 'PASSWORD_REUSE' | 'PAYLOAD_TOO_LARGE' | 'PERMISSION_NOT_ALLOWED' | 'PHONE_NOT_ENABLED' | 'PLUGIN_INSTALL_FAILED' | 'PLUGIN_MANIFEST_INVALID' | 'PLUGIN_REGISTER_FAILED' | 'PROJECT_MEMBERSHIP_REQUIRED' | 'PROJECT_NOT_FOUND' | 'PROJECT_PROVISIONING' | 'PROJECT_PROVISIONING_FAILED' | 'RAW_SQL_UNSUPPORTED' | 'RECORD_GONE' | 'RECORD_LOCKED' | 'REPORTS_LIST_FAILED' | 'REPORT_DELETE_FAILED' | 'REPORT_GET_FAILED' | 'REPORT_NOT_FOUND' | 'REPORT_RUN_FAILED' | 'REPORT_SAVE_FAILED' | 'REPORT_SCHEDULE_FAILED' | 'REQUEST_NOT_FOUND' | 'RESEED_NO_ROWS' | 'RESEED_SKIPPED' | 'ROUTE_NOT_FOUND' | 'RULE_DEFINE_FAILED' | 'RULE_DELETE_FAILED' | 'RULE_EVALUATE_FAILED' | 'RULE_GET_FAILED' | 'RULE_LIST_FAILED' | 'RULE_NOT_FOUND' | 'SAML_REGISTER_FAILED' | 'SCHEDULES_LIST_FAILED' | 'SCHEDULE_DELETE_FAILED' | 'SETTINGS_ACTION_FAILED' | 'SETTINGS_FORBIDDEN' | 'SETTINGS_LOCKED' | 'SETTINGS_UNKNOWN_KEY' | 'SETTINGS_UNKNOWN_NAMESPACE' | 'SETTINGS_VALIDATION' | 'SHARES_LIST_FAILED' | 'SHARE_GRANT_FAILED' | 'SHARE_REVOKE_FAILED' | 'SHARING_NOT_ENABLED' | 'SIGN_IN_REQUIRED' | 'SSO_REGISTER_FAILED' | 'SSO_REGISTER_FORBIDDEN' | 'SUGGESTION_CONFIRM_FAILED' | 'SUGGESTION_DISMISS_FAILED' | 'SUGGESTION_LIST_FAILED' | 'SUGGESTION_NOT_FOUND' | 'SUGGESTION_STATE' | 'SUMMARY_RECOMPUTE_FAILED' | 'UNAUTHORIZED' | 'UNIQUE_VIOLATION' | 'UNKNOWN_KEY' | 'UNKNOWN_NAMESPACE' | 'UNSUPPORTED' | 'UNSUPPORTED_QUERY_PARAM' | 'UNSUPPORTED_TRANSFORM' | 'UPLOAD_SESSION_NOT_FOUND' | 'USER_ALREADY_EXISTS' | 'VALIDATION_FAILED' | 'VERSION_NOT_FOUND' | 'VERSION_NOT_RESTORABLE' | 'WRITABLE_PACKAGE_REQUIRED' | 'WRONG_PASSWORD'>; message: string; category?: string; httpStatus?: integer; … } optional Error details if success is false
meta { timestamp: string; duration?: number; requestId?: string; traceId?: string } optional Response metadata
operation Enum<'create' | 'update' | 'upsert' | 'delete'> optional Operation type that was performed
total number Total number of records in the batch
succeeded number Number of records that succeeded
failed number Number of records that failed
results { id?: string; success: boolean; errors?: { code: Enum<'VALIDATION_ERROR' | 'INVALID_FIELD' | 'MISSING_REQUIRED_FIELD' | 'INVALID_FORMAT' | 'VALUE_TOO_LONG' | 'VALUE_TOO_SHORT' | 'VALUE_OUT_OF_RANGE' | 'INVALID_REFERENCE' | 'DUPLICATE_VALUE' | 'INVALID_QUERY' | 'INVALID_FILTER' | 'INVALID_SORT' | 'MAX_RECORDS_EXCEEDED' | 'UNAUTHENTICATED' | 'INVALID_CREDENTIALS' | 'EXPIRED_TOKEN' | 'INVALID_TOKEN' | 'SESSION_EXPIRED' | 'MFA_REQUIRED' | 'EMAIL_NOT_VERIFIED' | 'PERMISSION_DENIED' | 'INSUFFICIENT_PRIVILEGES' | 'FIELD_NOT_ACCESSIBLE' | 'RECORD_NOT_ACCESSIBLE' | 'LICENSE_REQUIRED' | 'IP_RESTRICTED' | 'TIME_RESTRICTED' | 'RESOURCE_NOT_FOUND' | 'OBJECT_NOT_FOUND' | 'RECORD_NOT_FOUND' | 'FIELD_NOT_FOUND' | 'ENDPOINT_NOT_FOUND' | 'RESOURCE_CONFLICT' | 'CONCURRENT_MODIFICATION' | 'DELETE_RESTRICTED' | 'DUPLICATE_RECORD' | 'LOCK_CONFLICT' | 'METHOD_NOT_ALLOWED' | 'PRECONDITION_REQUIRED' | 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'CONCURRENT_LIMIT_EXCEEDED' | 'INTERNAL_ERROR' | 'DATABASE_ERROR' | 'TIMEOUT' | 'SERVICE_UNAVAILABLE' | 'NOT_IMPLEMENTED' | 'EXTERNAL_SERVICE_ERROR' | 'INTEGRATION_ERROR' | 'WEBHOOK_DELIVERY_FAILED' | 'BATCH_PARTIAL_FAILURE' | 'BATCH_COMPLETE_FAILURE' | 'TRANSACTION_FAILED' | 'ACCOUNT_LOCKED' | 'ALREADY_REVERTED' | 'AMBIGUOUS_MATCH' | 'ANALYTICS_QUERY_FAILED' | 'APPROVAL_ACTIONS_FAILED' | 'APPROVAL_RECALL_FAILED' | 'APPROVAL_REQUEST_GET_FAILED' | 'APPROVAL_REQUEST_LIST_FAILED' | 'ASYNC_NOT_SUPPORTED' | 'ATTACHMENT_DELETE_DENIED' | 'ATTACHMENT_DOWNLOAD_DENIED' | 'ATTACHMENT_PARENT_ACCESS' | 'AUDIENCE_NOT_ALLOWED' | 'AUTH_CONFIG_ERROR' | 'AUTH_REQUIRED' | 'AUTOMATION_UNSCOPED_RUN_DATA_ACCESS' | 'BATCH_ABORTED' | 'BATCH_NOT_ATOMIC' | 'BATCH_TOO_LARGE' | 'BATCH_UNRESOLVED_REF' | 'BLANK_MATCH_KEY' | 'CLONE_DISABLED' | 'CLOUD_FETCH_FAILED' | 'CLOUD_UNCONFIGURED' | 'COMMIT_NOT_FOUND' | 'CONCURRENT_UPDATE' | 'CONFLICTING_MAPPING' | 'CONNECTOR_UPSTREAM_UNAVAILABLE' | 'CREATE_FAILED' | 'CUBE_NOT_FOUND' | 'DATASET_INVALID' | 'DATASOURCE_ADMIN_ERROR' | 'DELEGABLE_SCOPE_FAILED' | 'DELIVERY_NOT_ELIGIBLE' | 'DESTRUCTIVE_CHANGE' | 'DEVICE_CODE_FAILED' | 'DOMAIN_VERIFICATION_DISABLED' | 'DOMAIN_VERIFICATION_FAILED' | 'DRIVER_UNAVAILABLE' | 'DUPLICATE_REQUEST' | 'EMAIL_SEND_FAILED' | 'EMAIL_SERVICE_REQUIRED' | 'ENQUEUE_FAILED' | 'ENVIRONMENT_BIND_FAILED' | 'ENVIRONMENT_NOT_FOUND' | 'ENV_ACCESS_DENIED' | 'ERR_BULK_RESULT_MISMATCH' | 'ERR_DATASOURCE_UNAVAILABLE' | 'ERR_DRIVER_CONNECT' | 'ERR_FILE_CONSTRAINT' | 'ERR_FILE_REFERENCE_COPY' | 'ERR_SUMMARY_RECOMPUTE' | 'EXECUTION_ERROR' | 'EXPIRED_OR_REVOKED' | 'EXPIRY_IN_PAST' | 'EXPIRY_TOO_LONG' | 'EXPLAIN_FAILED' | 'EXPORT_NOT_PERMITTED' | 'EXTERNAL_DATASOURCE_ERROR' | 'EXTERNAL_IMPORT_ERROR' | 'EXTERNAL_SCHEMA_MISMATCH' | 'EXTERNAL_SCHEMA_MODE_VIOLATION' | 'EXTERNAL_WRITE_FORBIDDEN' | 'FEEDS_DISABLED' | 'FILES_DISABLED' | 'FILE_DOWNLOAD_DENIED' | 'FILE_NOT_FOUND' | 'FILTER_TOKEN_UNKNOWN' | 'FILTER_TOKEN_UNRESOLVED' | 'FORBIDDEN' | 'FORM_NOT_FOUND' | 'FORM_RESOLVE_FAILED' | 'IMPORT_JOB_CREATE_FAILED' | 'IMPORT_ROW_FAILED' | 'INTERNAL' | 'INVALID_EMAIL' | 'INVALID_EXPIRY' | 'INVALID_METADATA' | 'INVALID_OR_EXPIRED' | 'INVALID_PHONE' | 'INVALID_REQUEST' | 'INVALID_RESUME_TOKEN' | 'INVALID_SIGNAL' | 'INVALID_SIGNATURE' | 'INVALID_STATE' | 'INVITE_EMAIL_FAILED' | 'INVITE_REQUIRES_EMAIL' | 'INVITE_SMS_FAILED' | 'IP_NOT_ALLOWED' | 'ITEM_LOCKED' | 'LAST_LOCAL_CREDENTIAL' | 'LOOKUP_NOT_PUBLIC' | 'LOOKUP_TARGET_MISSING' | 'MANIFEST_CONFLICT' | 'MAPPING_FORMAT_MISMATCH' | 'MAPPING_FORMAT_UNSUPPORTED' | 'MAPPING_NOT_FOUND' | 'MAPPING_TARGET_MISMATCH' | 'MARKETPLACE_PROXY_FAILED' | 'MARKETPLACE_STORAGE_FAILED' | 'MARKETPLACE_UNAVAILABLE' | 'METADATA_BRANCH' | 'METADATA_CONFLICT' | 'METADATA_NOT_FOUND' | 'METADATA_SCHEMA_INVALID' | 'MONGODB_MULTI_TENANT_UNSUPPORTED' | 'NAMESPACE_PREFIX' | 'NEEDS_PASSWORD' | 'NODE_FAILURE' | 'NOTHING_TO_PURGE' | 'NOT_CREATABLE' | 'NOT_FOUND' | 'NOT_OVERRIDABLE' | 'NOT_UNDOABLE' | 'NO_DRAFT' | 'NO_EXECUTOR' | 'NO_IDENTITY' | 'NO_MATCH' | 'NO_PENDING_VERIFICATION' | 'OAUTH_REGISTER_FAILED' | 'OBJECT_API_DISABLED' | 'OBJECT_API_METHOD_NOT_ALLOWED' | 'OPENAPI_UNAVAILABLE' | 'OS_PROTOCOL_INCOMPATIBLE' | 'OVERLAY_PERSISTENCE_FAILED' | 'PACKAGE_DELETE_FAILED' | 'PACKAGE_DELETE_PARTIAL' | 'PACKAGE_MANIFEST_INVALID' | 'PACKAGE_PUBLISH_FAILED' | 'PASSWORD_ALREADY_SET' | 'PASSWORD_EXPIRED' | 'PASSWORD_POLICY_VIOLATION' | 'PASSWORD_REUSE' | 'PAYLOAD_TOO_LARGE' | 'PERMISSION_NOT_ALLOWED' | 'PHONE_NOT_ENABLED' | 'PLUGIN_INSTALL_FAILED' | 'PLUGIN_MANIFEST_INVALID' | 'PLUGIN_REGISTER_FAILED' | 'PROJECT_MEMBERSHIP_REQUIRED' | 'PROJECT_NOT_FOUND' | 'PROJECT_PROVISIONING' | 'PROJECT_PROVISIONING_FAILED' | 'RAW_SQL_UNSUPPORTED' | 'RECORD_GONE' | 'RECORD_LOCKED' | 'REPORTS_LIST_FAILED' | 'REPORT_DELETE_FAILED' | 'REPORT_GET_FAILED' | 'REPORT_NOT_FOUND' | 'REPORT_RUN_FAILED' | 'REPORT_SAVE_FAILED' | 'REPORT_SCHEDULE_FAILED' | 'REQUEST_NOT_FOUND' | 'RESEED_NO_ROWS' | 'RESEED_SKIPPED' | 'ROUTE_NOT_FOUND' | 'RULE_DEFINE_FAILED' | 'RULE_DELETE_FAILED' | 'RULE_EVALUATE_FAILED' | 'RULE_GET_FAILED' | 'RULE_LIST_FAILED' | 'RULE_NOT_FOUND' | 'SAML_REGISTER_FAILED' | 'SCHEDULES_LIST_FAILED' | 'SCHEDULE_DELETE_FAILED' | 'SETTINGS_ACTION_FAILED' | 'SETTINGS_FORBIDDEN' | 'SETTINGS_LOCKED' | 'SETTINGS_UNKNOWN_KEY' | 'SETTINGS_UNKNOWN_NAMESPACE' | 'SETTINGS_VALIDATION' | 'SHARES_LIST_FAILED' | 'SHARE_GRANT_FAILED' | 'SHARE_REVOKE_FAILED' | 'SHARING_NOT_ENABLED' | 'SIGN_IN_REQUIRED' | 'SSO_REGISTER_FAILED' | 'SSO_REGISTER_FORBIDDEN' | 'SUGGESTION_CONFIRM_FAILED' | 'SUGGESTION_DISMISS_FAILED' | 'SUGGESTION_LIST_FAILED' | 'SUGGESTION_NOT_FOUND' | 'SUGGESTION_STATE' | 'SUMMARY_RECOMPUTE_FAILED' | 'UNAUTHORIZED' | 'UNIQUE_VIOLATION' | 'UNKNOWN_KEY' | 'UNKNOWN_NAMESPACE' | 'UNSUPPORTED' | 'UNSUPPORTED_QUERY_PARAM' | 'UNSUPPORTED_TRANSFORM' | 'UPLOAD_SESSION_NOT_FOUND' | 'USER_ALREADY_EXISTS' | 'VALIDATION_FAILED' | 'VERSION_NOT_FOUND' | 'VERSION_NOT_RESTORABLE' | 'WRITABLE_PACKAGE_REQUIRED' | 'WRONG_PASSWORD'>; message: string; category?: string; httpStatus?: integer; … }[]; data?: Record<string, any>; … }[] Detailed results for each record

DeleteMetaItemRequest

Properties

Property Type Required Description
type string Metadata type name
name string Item name

DeleteMetaItemResponse

Properties

Property Type Required Description
success boolean
reset boolean optional
message string optional

DeleteViewRequest

Properties

Property Type Required Description
object string Object name (snake_case)
viewId string View identifier to delete

DeleteViewResponse

Properties

Property Type Required Description
object string Object name
viewId string Deleted view identifier
success boolean Whether deletion succeeded

FindDataRequest

Properties

Property Type Required Description
object string The unique machine name of the object to query (e.g. "account").
query { object: string; fields?: string[]; where?: any; search?: string | { query: string; fields?: string[]; fuzzy: boolean; operator: Enum<'and' | 'or'>; … }; … } optional Structured query definition (filter, sort, select, pagination).

FindDataResponse

Properties

Property Type Required Description
object string The object name for the returned records.
records Record<string, any>[] The list of matching records.
total number optional Total number of records matching the filter (if requested).
nextCursor string optional Cursor for the next page of results (cursor-based pagination).
hasMore boolean optional True if there are more records available (pagination).

GetDataRequest

Properties

Property Type Required Description
object string The object name.
id string The unique record identifier (primary key).
select string[] optional Fields to include in the response (allowlisted query param).
expand string[] optional Lookup/master_detail field names to expand. The engine resolves these via batch $in queries, replacing foreign key IDs with full objects.

GetDataResponse

Properties

Property Type Required Description
object string The object name.
id string The record ID.
record Record<string, any> The complete record data.

GetDiscoveryRequest

Properties

Property Type Required Description

GetDiscoveryResponse

Properties

Property Type Required Description
name string optional
version string
environment Enum<'production' | 'sandbox' | 'development'> optional
routes { data: string; metadata: string; discovery?: string; ui?: string; … } optional
locale { default: string; supported: string[]; timezone: string } optional
services Record<string, { enabled: boolean; status: Enum<'available' | 'registered' | 'unavailable' | 'degraded' | 'stub'>; handlerReady?: boolean; route?: string; … }> optional Per-service availability map keyed by CoreServiceName
capabilities Record<string, { enabled: boolean; features?: Record<string, boolean>; description?: string }> optional Hierarchical capability descriptors for frontend intelligent adaptation
schemaDiscovery { openapi?: string; jsonSchema?: string } optional Schema discovery endpoints for API toolchain integration
metadata Record<string, any> optional Custom metadata key-value pairs for extensibility
apiName string optional API name (deprecated — use name)

GetEffectivePermissionsRequest

Properties

Property Type Required Description

GetEffectivePermissionsResponse

Properties

Property Type Required Description
objects Record<string, { allowCreate: boolean; allowRead: boolean; allowEdit: boolean; allowDelete: boolean; … }> Effective object permissions keyed by object name
systemPermissions string[] Effective system-level permissions

GetFieldLabelsRequest

Properties

Property Type Required Description
object string Object name
locale string BCP-47 locale code

GetFieldLabelsResponse

Properties

Property Type Required Description
object string Object name
locale string Locale code
labels Record<string, { label: string; help?: string; options?: Record<string, string> }> Field labels keyed by field name

GetLocalesRequest

Properties

Property Type Required Description

GetLocalesResponse

Properties

Property Type Required Description
locales { code: string; label: string; isDefault: boolean }[] Available locales

GetMetaItemCachedRequest

Properties

Property Type Required Description
type string Metadata type name
name string Item name
cacheRequest { ifNoneMatch?: string; ifModifiedSince?: string; cacheControl?: object } optional Cache validation parameters
locale string optional Resolved response locale. Folded into the ETag so a language switch never returns a stale-locale 304 — metadata is translated after the cache validator check (issue #1319).

GetMetaItemCachedResponse

Properties

Property Type Required Description
data any optional Metadata payload (omitted for 304 Not Modified)
etag { value: string; weak: boolean } optional ETag for this resource version
lastModified string optional Last modification timestamp
cacheControl { directives: Enum<'public' | 'private' | 'no-cache' | 'no-store' | 'must-revalidate' | 'max-age'>[]; maxAge?: number; staleWhileRevalidate?: number; staleIfError?: number } optional Cache control directives
notModified boolean True if resource has not been modified (304 response)
version string optional Metadata version identifier

GetMetaItemRequest

Properties

Property Type Required Description
type string Metadata type name
name string Item name (snake_case identifier)
packageId string optional Optional package ID to filter items by

GetMetaItemResponse

Properties

Property Type Required Description
type string Metadata type name
name string Item name
item any Metadata item definition

GetMetaItemsRequest

Properties

Property Type Required Description
type string Metadata type name (e.g., "object", "plugin")
packageId string optional Optional package ID to filter items by

GetMetaItemsResponse

Properties

Property Type Required Description
type string Metadata type name
items any[] Array of metadata items

GetMetaTypesRequest

Properties

Property Type Required Description

GetMetaTypesResponse

Properties

Property Type Required Description
types string[] Available metadata type names (e.g., "object", "plugin", "view")
entries { type: string; label: string; description?: string; filePatterns: string[]; … }[] optional Enriched per-type registry entries (Phase 3a)

GetNotificationPreferencesRequest

Properties

Property Type Required Description

GetNotificationPreferencesResponse

Properties

Property Type Required Description
preferences { email: boolean; push: boolean; inApp: boolean; digest: Enum<'none' | 'daily' | 'weekly'>; … } Current notification preferences

GetObjectPermissionsRequest

Properties

Property Type Required Description
object string Object name to get permissions for

GetObjectPermissionsResponse

Properties

Property Type Required Description
object string Object name
permissions { allowCreate: boolean; allowRead: boolean; allowEdit: boolean; allowDelete: boolean; … } Object-level permissions
fieldPermissions Record<string, { readable: boolean; editable: boolean }> optional Field-level permissions keyed by field name

GetPresenceRequest

Properties

Property Type Required Description
channel string Channel to get presence for

GetPresenceResponse

Properties

Property Type Required Description
channel string Channel name
members { userId: string; status: Enum<'online' | 'away' | 'busy' | 'offline'>; lastSeen: string; metadata?: Record<string, any> }[] Active members and their presence state

GetTranslationsRequest

Properties

Property Type Required Description
locale string BCP-47 locale code

GetTranslationsResponse

Properties

Property Type Required Description
locale string Locale code
translations { objects?: Record<string, { label?: string; pluralLabel?: string; description?: string; fields?: Record<string, { label?: string; help?: string; placeholder?: string; options?: Record<string, string> }>; … }>; apps?: Record<string, { label: string; description?: string; navigation?: Record<string, { label: string }> }>; messages?: Record<string, string>; validationMessages?: Record<string, string>; … } Translation data

GetUiViewRequest

Properties

Property Type Required Description
object string Object name (snake_case)
type Enum<'list' | 'form'> View type

GetUiViewResponse

Properties

Property Type Required Description
list { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … } optional
form { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … } optional
listViews Record<string, { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … }> optional Additional named list views (views mode — dropdown userFilters allowed, no tabs; ADR-0047)
formViews Record<string, { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … }> optional Additional named form views
protection { lock: Enum<'none' | 'no-overlay' | 'no-delete' | 'full'>; reason: string; docsUrl?: string } optional Package author protection block — lock policy for this view.
_lock Enum<'none' | 'no-overlay' | 'no-delete' | 'full'> optional Item-level lock — controls overlay & delete (ADR-0010).
_lockReason string optional Human-readable reason shown when a write is refused by _lock.
_lockSource Enum<'artifact' | 'package' | 'env-forced'> optional Layer that set _lock (artifact | package | env-forced).
_provenance Enum<'package' | 'org' | 'env-forced'> optional Origin of the item (package | org | env-forced).
_packageId string optional Owning package machine id.
_packageVersion string optional Owning package version.
_lockDocsUrl string optional Optional documentation link surfaced next to _lockReason.

GetViewRequest

Properties

Property Type Required Description
object string Object name (snake_case)
viewId string View identifier

GetViewResponse

Properties

Property Type Required Description
object string Object name
view { list?: object; form?: object; listViews?: Record<string, { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … }>; formViews?: Record<string, { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … }>; … } View definition

GetWorkflowConfigRequest

Properties

Property Type Required Description
object string Object name to get workflow config for

GetWorkflowConfigResponse

Properties

Property Type Required Description
object string Object name
workflows { id: string; description?: string; contextSchema?: Record<string, any>; initial: string; … }[] Active state-machine workflows for this object

GetWorkflowStateRequest

Properties

Property Type Required Description
object string Object name
recordId string Record ID to get workflow state for

GetWorkflowStateResponse

Properties

Property Type Required Description
object string Object name
recordId string Record ID
state { currentState: string; availableTransitions: { name: string; targetState: string; label?: string; requiresApproval: boolean }[]; history?: { fromState: string; toState: string; action: string; userId: string; … }[] } Current workflow state and available transitions

HttpFindQueryParams

Properties

Property Type Required Description
filter string optional JSON-encoded filter expression (canonical, singular).
filters string optional JSON-encoded filter expression (deprecated plural alias).
select string optional Comma-separated list of fields to retrieve.
sort string optional Sort expression (e.g. "name asc,created_at desc" or "-created_at").
orderBy string optional Alias for sort (OData compatibility).
top number optional Max records to return (limit).
skip number optional Records to skip (offset).
expand string optional Comma-separated list of lookup/master_detail field names to expand. Resolved to populate array and passed to the engine for batch $in expansion.
search string optional Full-text search query.
distinct any optional [REMOVED] query.distinct was removed in @objectstack/spec 17 (#4286, ADR-0049 / ADR-0078) — no driver ever rendered SELECT DISTINCT; the flag's only observable effect was MIS-WIRED: the REST list path treated a distinct query as not countable and silently degraded total/hasMore to a page-local estimate while still returning duplicate rows. Delete the key; QueryBuilder.distinct() was removed with it, and the count suppression is gone (total is truthful again). For unique values of one column use the SQL/memory drivers' distinct(object, field) door; for unique combinations, groupBy; for a deduplicated count, the count_distinct aggregation.
count boolean optional Include total count in response.

ListAiConversationsRequest

Properties

Property Type Required Description
agentId string optional Filter by agent
limit integer optional Maximum conversations to return
cursor string optional Pagination cursor

ListAiConversationsResponse

Properties

Property Type Required Description
conversations { id: string; title?: string; agentId?: string; userId?: string; … }[] Matching conversations

ListAiPendingActionsRequest

Properties

Property Type Required Description
status Enum<'pending' | 'approved' | 'executed' | 'failed' | 'rejected'> optional Filter by status
conversationId string optional Filter by proposing conversation
limit integer optional Max rows (server default 100)

ListAiPendingActionsResponse

Properties

Property Type Required Description
items { id: string; object_name: string; action_name: string; tool_name: string; … }[] Queued actions, newest first
total number Number of rows returned (not a total across pages)

ListNotificationsRequest

Properties

Property Type Required Description
read boolean optional Filter by read status
type string optional Filter by notification type
limit number Maximum number of notifications to return
cursor string optional Pagination cursor

ListNotificationsResponse

Properties

Property Type Required Description
notifications { id: string; type: string; title: string; body: string; … }[] List of notifications
unreadCount number Total number of unread notifications
cursor string optional Next page cursor

ListViewsRequest

Properties

Property Type Required Description
object string Object name (snake_case)
type Enum<'list' | 'form'> optional Filter by view type

ListViewsResponse

Properties

Property Type Required Description
object string Object name
views { list?: object; form?: object; listViews?: Record<string, { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … }>; formViews?: Record<string, { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … }>; … }[] Array of view definitions

MarkAllNotificationsReadRequest

Properties

Property Type Required Description

MarkAllNotificationsReadResponse

Properties

Property Type Required Description
success boolean Whether the operation succeeded
readCount number Number of notifications marked as read

MarkNotificationsReadRequest

Properties

Property Type Required Description
ids string[] Notification IDs to mark as read

MarkNotificationsReadResponse

Properties

Property Type Required Description
success boolean Whether the operation succeeded
readCount number Number of notifications marked as read

NotificationPreferences

Properties

Property Type Required Description
email boolean Receive email notifications
push boolean Receive push notifications
inApp boolean Receive in-app notifications
digest Enum<'none' | 'daily' | 'weekly'> Email digest frequency
channels Record<string, { enabled: boolean; email?: boolean; push?: boolean }> optional Per-channel notification preferences

RealtimeConnectRequest

Properties

Property Type Required Description
transport Enum<'websocket' | 'sse' | 'polling'> optional Preferred transport protocol
channels string[] optional Channels to subscribe to on connect
token string optional Authentication token

RealtimeConnectResponse

Properties

Property Type Required Description
connectionId string Unique connection identifier
transport Enum<'websocket' | 'sse' | 'polling'> Negotiated transport protocol
url string optional WebSocket/SSE endpoint URL

RealtimeDisconnectRequest

Properties

Property Type Required Description
connectionId string optional Connection ID to disconnect

RealtimeDisconnectResponse

Properties

Property Type Required Description
success boolean Whether disconnection succeeded

RealtimeSubscribeRequest

Properties

Property Type Required Description
channel string Channel name to subscribe to
events string[] optional Specific event types to listen for
filter Record<string, any> optional Event filter criteria

RealtimeSubscribeResponse

Properties

Property Type Required Description
subscriptionId string Unique subscription identifier
channel string Subscribed channel name

RealtimeUnsubscribeRequest

Properties

Property Type Required Description
subscriptionId string Subscription ID to cancel

RealtimeUnsubscribeResponse

Properties

Property Type Required Description
success boolean Whether unsubscription succeeded

RegisterDeviceRequest

Properties

Property Type Required Description
token string Device push notification token
platform Enum<'ios' | 'android' | 'web'> Device platform
deviceId string optional Unique device identifier
name string optional Device friendly name

RegisterDeviceResponse

Properties

Property Type Required Description
deviceId string Registered device ID
success boolean Whether registration succeeded

RejectAiPendingActionResponse

Properties

Property Type Required Description
status 'rejected' Always "rejected"
id string The rejected action id

SaveMetaItemRequest

Properties

Property Type Required Description
type string Metadata type name
name string Item name
item any Metadata item definition

SaveMetaItemResponse

Properties

Property Type Required Description
success boolean
message string optional

SetPresenceRequest

Properties

Property Type Required Description
channel string Channel to set presence in
state { userId: string; status: Enum<'online' | 'away' | 'busy' | 'offline'>; lastSeen: string; metadata?: Record<string, any> } Presence state to set

SetPresenceResponse

Properties

Property Type Required Description
success boolean Whether presence was set

UnregisterDeviceRequest

Properties

Property Type Required Description
deviceId string Device ID to unregister

UnregisterDeviceResponse

Properties

Property Type Required Description
success boolean Whether unregistration succeeded

UpdateAiConversationRequest

Properties

Property Type Required Description
title string optional New title
metadata Record<string, any> optional New metadata

UpdateDataRequest

Properties

Property Type Required Description
object string The object name.
id string The ID of the record to update.
data Record<string, any> The fields to update (partial update).
expectedVersion string optional Optimistic concurrency token (typically the updated_at value the client read). When provided, the server compares it against the current record version and returns 409 CONCURRENT_UPDATE if they differ. Optional — omit to skip the check.

UpdateDataResponse

Properties

Property Type Required Description
object string Object name
id string Updated record ID
record Record<string, any> Updated record
droppedFields { object: string; fields: string[]; reason: Enum<'readonly' | 'readonly_when'> }[] optional Write-observability (#3407/#3431): caller-supplied fields the engine LEGALLY stripped from the write before persisting — static readonly (#2948) or a TRUE readonlyWhen predicate (#3042). Present ONLY when ≥1 field was dropped; the update still succeeded without them (status/success semantics unchanged — stripping is legitimate, not an error). REST additionally surfaces this as the X-ObjectStack-Dropped-Fields response header. Optional — omit-when-empty keeps the shape backward-compatible for existing clients that only read record.

UpdateManyDataRequest

Properties

Property Type Required Description
records { id: string; data: Record<string, any> }[] Array of records to update (server caps the count — see batch.maxBatchSize)
options { atomic: boolean; returnRecords: boolean; continueOnError: boolean; validateOnly?: any } optional Update options
object string Object name

UpdateManyDataResponse

Properties

Property Type Required Description
success boolean Operation success status
error { code: Enum<'VALIDATION_ERROR' | 'INVALID_FIELD' | 'MISSING_REQUIRED_FIELD' | 'INVALID_FORMAT' | 'VALUE_TOO_LONG' | 'VALUE_TOO_SHORT' | 'VALUE_OUT_OF_RANGE' | 'INVALID_REFERENCE' | 'DUPLICATE_VALUE' | 'INVALID_QUERY' | 'INVALID_FILTER' | 'INVALID_SORT' | 'MAX_RECORDS_EXCEEDED' | 'UNAUTHENTICATED' | 'INVALID_CREDENTIALS' | 'EXPIRED_TOKEN' | 'INVALID_TOKEN' | 'SESSION_EXPIRED' | 'MFA_REQUIRED' | 'EMAIL_NOT_VERIFIED' | 'PERMISSION_DENIED' | 'INSUFFICIENT_PRIVILEGES' | 'FIELD_NOT_ACCESSIBLE' | 'RECORD_NOT_ACCESSIBLE' | 'LICENSE_REQUIRED' | 'IP_RESTRICTED' | 'TIME_RESTRICTED' | 'RESOURCE_NOT_FOUND' | 'OBJECT_NOT_FOUND' | 'RECORD_NOT_FOUND' | 'FIELD_NOT_FOUND' | 'ENDPOINT_NOT_FOUND' | 'RESOURCE_CONFLICT' | 'CONCURRENT_MODIFICATION' | 'DELETE_RESTRICTED' | 'DUPLICATE_RECORD' | 'LOCK_CONFLICT' | 'METHOD_NOT_ALLOWED' | 'PRECONDITION_REQUIRED' | 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'CONCURRENT_LIMIT_EXCEEDED' | 'INTERNAL_ERROR' | 'DATABASE_ERROR' | 'TIMEOUT' | 'SERVICE_UNAVAILABLE' | 'NOT_IMPLEMENTED' | 'EXTERNAL_SERVICE_ERROR' | 'INTEGRATION_ERROR' | 'WEBHOOK_DELIVERY_FAILED' | 'BATCH_PARTIAL_FAILURE' | 'BATCH_COMPLETE_FAILURE' | 'TRANSACTION_FAILED' | 'ACCOUNT_LOCKED' | 'ALREADY_REVERTED' | 'AMBIGUOUS_MATCH' | 'ANALYTICS_QUERY_FAILED' | 'APPROVAL_ACTIONS_FAILED' | 'APPROVAL_RECALL_FAILED' | 'APPROVAL_REQUEST_GET_FAILED' | 'APPROVAL_REQUEST_LIST_FAILED' | 'ASYNC_NOT_SUPPORTED' | 'ATTACHMENT_DELETE_DENIED' | 'ATTACHMENT_DOWNLOAD_DENIED' | 'ATTACHMENT_PARENT_ACCESS' | 'AUDIENCE_NOT_ALLOWED' | 'AUTH_CONFIG_ERROR' | 'AUTH_REQUIRED' | 'AUTOMATION_UNSCOPED_RUN_DATA_ACCESS' | 'BATCH_ABORTED' | 'BATCH_NOT_ATOMIC' | 'BATCH_TOO_LARGE' | 'BATCH_UNRESOLVED_REF' | 'BLANK_MATCH_KEY' | 'CLONE_DISABLED' | 'CLOUD_FETCH_FAILED' | 'CLOUD_UNCONFIGURED' | 'COMMIT_NOT_FOUND' | 'CONCURRENT_UPDATE' | 'CONFLICTING_MAPPING' | 'CONNECTOR_UPSTREAM_UNAVAILABLE' | 'CREATE_FAILED' | 'CUBE_NOT_FOUND' | 'DATASET_INVALID' | 'DATASOURCE_ADMIN_ERROR' | 'DELEGABLE_SCOPE_FAILED' | 'DELIVERY_NOT_ELIGIBLE' | 'DESTRUCTIVE_CHANGE' | 'DEVICE_CODE_FAILED' | 'DOMAIN_VERIFICATION_DISABLED' | 'DOMAIN_VERIFICATION_FAILED' | 'DRIVER_UNAVAILABLE' | 'DUPLICATE_REQUEST' | 'EMAIL_SEND_FAILED' | 'EMAIL_SERVICE_REQUIRED' | 'ENQUEUE_FAILED' | 'ENVIRONMENT_BIND_FAILED' | 'ENVIRONMENT_NOT_FOUND' | 'ENV_ACCESS_DENIED' | 'ERR_BULK_RESULT_MISMATCH' | 'ERR_DATASOURCE_UNAVAILABLE' | 'ERR_DRIVER_CONNECT' | 'ERR_FILE_CONSTRAINT' | 'ERR_FILE_REFERENCE_COPY' | 'ERR_SUMMARY_RECOMPUTE' | 'EXECUTION_ERROR' | 'EXPIRED_OR_REVOKED' | 'EXPIRY_IN_PAST' | 'EXPIRY_TOO_LONG' | 'EXPLAIN_FAILED' | 'EXPORT_NOT_PERMITTED' | 'EXTERNAL_DATASOURCE_ERROR' | 'EXTERNAL_IMPORT_ERROR' | 'EXTERNAL_SCHEMA_MISMATCH' | 'EXTERNAL_SCHEMA_MODE_VIOLATION' | 'EXTERNAL_WRITE_FORBIDDEN' | 'FEEDS_DISABLED' | 'FILES_DISABLED' | 'FILE_DOWNLOAD_DENIED' | 'FILE_NOT_FOUND' | 'FILTER_TOKEN_UNKNOWN' | 'FILTER_TOKEN_UNRESOLVED' | 'FORBIDDEN' | 'FORM_NOT_FOUND' | 'FORM_RESOLVE_FAILED' | 'IMPORT_JOB_CREATE_FAILED' | 'IMPORT_ROW_FAILED' | 'INTERNAL' | 'INVALID_EMAIL' | 'INVALID_EXPIRY' | 'INVALID_METADATA' | 'INVALID_OR_EXPIRED' | 'INVALID_PHONE' | 'INVALID_REQUEST' | 'INVALID_RESUME_TOKEN' | 'INVALID_SIGNAL' | 'INVALID_SIGNATURE' | 'INVALID_STATE' | 'INVITE_EMAIL_FAILED' | 'INVITE_REQUIRES_EMAIL' | 'INVITE_SMS_FAILED' | 'IP_NOT_ALLOWED' | 'ITEM_LOCKED' | 'LAST_LOCAL_CREDENTIAL' | 'LOOKUP_NOT_PUBLIC' | 'LOOKUP_TARGET_MISSING' | 'MANIFEST_CONFLICT' | 'MAPPING_FORMAT_MISMATCH' | 'MAPPING_FORMAT_UNSUPPORTED' | 'MAPPING_NOT_FOUND' | 'MAPPING_TARGET_MISMATCH' | 'MARKETPLACE_PROXY_FAILED' | 'MARKETPLACE_STORAGE_FAILED' | 'MARKETPLACE_UNAVAILABLE' | 'METADATA_BRANCH' | 'METADATA_CONFLICT' | 'METADATA_NOT_FOUND' | 'METADATA_SCHEMA_INVALID' | 'MONGODB_MULTI_TENANT_UNSUPPORTED' | 'NAMESPACE_PREFIX' | 'NEEDS_PASSWORD' | 'NODE_FAILURE' | 'NOTHING_TO_PURGE' | 'NOT_CREATABLE' | 'NOT_FOUND' | 'NOT_OVERRIDABLE' | 'NOT_UNDOABLE' | 'NO_DRAFT' | 'NO_EXECUTOR' | 'NO_IDENTITY' | 'NO_MATCH' | 'NO_PENDING_VERIFICATION' | 'OAUTH_REGISTER_FAILED' | 'OBJECT_API_DISABLED' | 'OBJECT_API_METHOD_NOT_ALLOWED' | 'OPENAPI_UNAVAILABLE' | 'OS_PROTOCOL_INCOMPATIBLE' | 'OVERLAY_PERSISTENCE_FAILED' | 'PACKAGE_DELETE_FAILED' | 'PACKAGE_DELETE_PARTIAL' | 'PACKAGE_MANIFEST_INVALID' | 'PACKAGE_PUBLISH_FAILED' | 'PASSWORD_ALREADY_SET' | 'PASSWORD_EXPIRED' | 'PASSWORD_POLICY_VIOLATION' | 'PASSWORD_REUSE' | 'PAYLOAD_TOO_LARGE' | 'PERMISSION_NOT_ALLOWED' | 'PHONE_NOT_ENABLED' | 'PLUGIN_INSTALL_FAILED' | 'PLUGIN_MANIFEST_INVALID' | 'PLUGIN_REGISTER_FAILED' | 'PROJECT_MEMBERSHIP_REQUIRED' | 'PROJECT_NOT_FOUND' | 'PROJECT_PROVISIONING' | 'PROJECT_PROVISIONING_FAILED' | 'RAW_SQL_UNSUPPORTED' | 'RECORD_GONE' | 'RECORD_LOCKED' | 'REPORTS_LIST_FAILED' | 'REPORT_DELETE_FAILED' | 'REPORT_GET_FAILED' | 'REPORT_NOT_FOUND' | 'REPORT_RUN_FAILED' | 'REPORT_SAVE_FAILED' | 'REPORT_SCHEDULE_FAILED' | 'REQUEST_NOT_FOUND' | 'RESEED_NO_ROWS' | 'RESEED_SKIPPED' | 'ROUTE_NOT_FOUND' | 'RULE_DEFINE_FAILED' | 'RULE_DELETE_FAILED' | 'RULE_EVALUATE_FAILED' | 'RULE_GET_FAILED' | 'RULE_LIST_FAILED' | 'RULE_NOT_FOUND' | 'SAML_REGISTER_FAILED' | 'SCHEDULES_LIST_FAILED' | 'SCHEDULE_DELETE_FAILED' | 'SETTINGS_ACTION_FAILED' | 'SETTINGS_FORBIDDEN' | 'SETTINGS_LOCKED' | 'SETTINGS_UNKNOWN_KEY' | 'SETTINGS_UNKNOWN_NAMESPACE' | 'SETTINGS_VALIDATION' | 'SHARES_LIST_FAILED' | 'SHARE_GRANT_FAILED' | 'SHARE_REVOKE_FAILED' | 'SHARING_NOT_ENABLED' | 'SIGN_IN_REQUIRED' | 'SSO_REGISTER_FAILED' | 'SSO_REGISTER_FORBIDDEN' | 'SUGGESTION_CONFIRM_FAILED' | 'SUGGESTION_DISMISS_FAILED' | 'SUGGESTION_LIST_FAILED' | 'SUGGESTION_NOT_FOUND' | 'SUGGESTION_STATE' | 'SUMMARY_RECOMPUTE_FAILED' | 'UNAUTHORIZED' | 'UNIQUE_VIOLATION' | 'UNKNOWN_KEY' | 'UNKNOWN_NAMESPACE' | 'UNSUPPORTED' | 'UNSUPPORTED_QUERY_PARAM' | 'UNSUPPORTED_TRANSFORM' | 'UPLOAD_SESSION_NOT_FOUND' | 'USER_ALREADY_EXISTS' | 'VALIDATION_FAILED' | 'VERSION_NOT_FOUND' | 'VERSION_NOT_RESTORABLE' | 'WRITABLE_PACKAGE_REQUIRED' | 'WRONG_PASSWORD'>; message: string; category?: string; httpStatus?: integer; … } optional Error details if success is false
meta { timestamp: string; duration?: number; requestId?: string; traceId?: string } optional Response metadata
operation Enum<'create' | 'update' | 'upsert' | 'delete'> optional Operation type that was performed
total number Total number of records in the batch
succeeded number Number of records that succeeded
failed number Number of records that failed
results { id?: string; success: boolean; errors?: { code: Enum<'VALIDATION_ERROR' | 'INVALID_FIELD' | 'MISSING_REQUIRED_FIELD' | 'INVALID_FORMAT' | 'VALUE_TOO_LONG' | 'VALUE_TOO_SHORT' | 'VALUE_OUT_OF_RANGE' | 'INVALID_REFERENCE' | 'DUPLICATE_VALUE' | 'INVALID_QUERY' | 'INVALID_FILTER' | 'INVALID_SORT' | 'MAX_RECORDS_EXCEEDED' | 'UNAUTHENTICATED' | 'INVALID_CREDENTIALS' | 'EXPIRED_TOKEN' | 'INVALID_TOKEN' | 'SESSION_EXPIRED' | 'MFA_REQUIRED' | 'EMAIL_NOT_VERIFIED' | 'PERMISSION_DENIED' | 'INSUFFICIENT_PRIVILEGES' | 'FIELD_NOT_ACCESSIBLE' | 'RECORD_NOT_ACCESSIBLE' | 'LICENSE_REQUIRED' | 'IP_RESTRICTED' | 'TIME_RESTRICTED' | 'RESOURCE_NOT_FOUND' | 'OBJECT_NOT_FOUND' | 'RECORD_NOT_FOUND' | 'FIELD_NOT_FOUND' | 'ENDPOINT_NOT_FOUND' | 'RESOURCE_CONFLICT' | 'CONCURRENT_MODIFICATION' | 'DELETE_RESTRICTED' | 'DUPLICATE_RECORD' | 'LOCK_CONFLICT' | 'METHOD_NOT_ALLOWED' | 'PRECONDITION_REQUIRED' | 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'CONCURRENT_LIMIT_EXCEEDED' | 'INTERNAL_ERROR' | 'DATABASE_ERROR' | 'TIMEOUT' | 'SERVICE_UNAVAILABLE' | 'NOT_IMPLEMENTED' | 'EXTERNAL_SERVICE_ERROR' | 'INTEGRATION_ERROR' | 'WEBHOOK_DELIVERY_FAILED' | 'BATCH_PARTIAL_FAILURE' | 'BATCH_COMPLETE_FAILURE' | 'TRANSACTION_FAILED' | 'ACCOUNT_LOCKED' | 'ALREADY_REVERTED' | 'AMBIGUOUS_MATCH' | 'ANALYTICS_QUERY_FAILED' | 'APPROVAL_ACTIONS_FAILED' | 'APPROVAL_RECALL_FAILED' | 'APPROVAL_REQUEST_GET_FAILED' | 'APPROVAL_REQUEST_LIST_FAILED' | 'ASYNC_NOT_SUPPORTED' | 'ATTACHMENT_DELETE_DENIED' | 'ATTACHMENT_DOWNLOAD_DENIED' | 'ATTACHMENT_PARENT_ACCESS' | 'AUDIENCE_NOT_ALLOWED' | 'AUTH_CONFIG_ERROR' | 'AUTH_REQUIRED' | 'AUTOMATION_UNSCOPED_RUN_DATA_ACCESS' | 'BATCH_ABORTED' | 'BATCH_NOT_ATOMIC' | 'BATCH_TOO_LARGE' | 'BATCH_UNRESOLVED_REF' | 'BLANK_MATCH_KEY' | 'CLONE_DISABLED' | 'CLOUD_FETCH_FAILED' | 'CLOUD_UNCONFIGURED' | 'COMMIT_NOT_FOUND' | 'CONCURRENT_UPDATE' | 'CONFLICTING_MAPPING' | 'CONNECTOR_UPSTREAM_UNAVAILABLE' | 'CREATE_FAILED' | 'CUBE_NOT_FOUND' | 'DATASET_INVALID' | 'DATASOURCE_ADMIN_ERROR' | 'DELEGABLE_SCOPE_FAILED' | 'DELIVERY_NOT_ELIGIBLE' | 'DESTRUCTIVE_CHANGE' | 'DEVICE_CODE_FAILED' | 'DOMAIN_VERIFICATION_DISABLED' | 'DOMAIN_VERIFICATION_FAILED' | 'DRIVER_UNAVAILABLE' | 'DUPLICATE_REQUEST' | 'EMAIL_SEND_FAILED' | 'EMAIL_SERVICE_REQUIRED' | 'ENQUEUE_FAILED' | 'ENVIRONMENT_BIND_FAILED' | 'ENVIRONMENT_NOT_FOUND' | 'ENV_ACCESS_DENIED' | 'ERR_BULK_RESULT_MISMATCH' | 'ERR_DATASOURCE_UNAVAILABLE' | 'ERR_DRIVER_CONNECT' | 'ERR_FILE_CONSTRAINT' | 'ERR_FILE_REFERENCE_COPY' | 'ERR_SUMMARY_RECOMPUTE' | 'EXECUTION_ERROR' | 'EXPIRED_OR_REVOKED' | 'EXPIRY_IN_PAST' | 'EXPIRY_TOO_LONG' | 'EXPLAIN_FAILED' | 'EXPORT_NOT_PERMITTED' | 'EXTERNAL_DATASOURCE_ERROR' | 'EXTERNAL_IMPORT_ERROR' | 'EXTERNAL_SCHEMA_MISMATCH' | 'EXTERNAL_SCHEMA_MODE_VIOLATION' | 'EXTERNAL_WRITE_FORBIDDEN' | 'FEEDS_DISABLED' | 'FILES_DISABLED' | 'FILE_DOWNLOAD_DENIED' | 'FILE_NOT_FOUND' | 'FILTER_TOKEN_UNKNOWN' | 'FILTER_TOKEN_UNRESOLVED' | 'FORBIDDEN' | 'FORM_NOT_FOUND' | 'FORM_RESOLVE_FAILED' | 'IMPORT_JOB_CREATE_FAILED' | 'IMPORT_ROW_FAILED' | 'INTERNAL' | 'INVALID_EMAIL' | 'INVALID_EXPIRY' | 'INVALID_METADATA' | 'INVALID_OR_EXPIRED' | 'INVALID_PHONE' | 'INVALID_REQUEST' | 'INVALID_RESUME_TOKEN' | 'INVALID_SIGNAL' | 'INVALID_SIGNATURE' | 'INVALID_STATE' | 'INVITE_EMAIL_FAILED' | 'INVITE_REQUIRES_EMAIL' | 'INVITE_SMS_FAILED' | 'IP_NOT_ALLOWED' | 'ITEM_LOCKED' | 'LAST_LOCAL_CREDENTIAL' | 'LOOKUP_NOT_PUBLIC' | 'LOOKUP_TARGET_MISSING' | 'MANIFEST_CONFLICT' | 'MAPPING_FORMAT_MISMATCH' | 'MAPPING_FORMAT_UNSUPPORTED' | 'MAPPING_NOT_FOUND' | 'MAPPING_TARGET_MISMATCH' | 'MARKETPLACE_PROXY_FAILED' | 'MARKETPLACE_STORAGE_FAILED' | 'MARKETPLACE_UNAVAILABLE' | 'METADATA_BRANCH' | 'METADATA_CONFLICT' | 'METADATA_NOT_FOUND' | 'METADATA_SCHEMA_INVALID' | 'MONGODB_MULTI_TENANT_UNSUPPORTED' | 'NAMESPACE_PREFIX' | 'NEEDS_PASSWORD' | 'NODE_FAILURE' | 'NOTHING_TO_PURGE' | 'NOT_CREATABLE' | 'NOT_FOUND' | 'NOT_OVERRIDABLE' | 'NOT_UNDOABLE' | 'NO_DRAFT' | 'NO_EXECUTOR' | 'NO_IDENTITY' | 'NO_MATCH' | 'NO_PENDING_VERIFICATION' | 'OAUTH_REGISTER_FAILED' | 'OBJECT_API_DISABLED' | 'OBJECT_API_METHOD_NOT_ALLOWED' | 'OPENAPI_UNAVAILABLE' | 'OS_PROTOCOL_INCOMPATIBLE' | 'OVERLAY_PERSISTENCE_FAILED' | 'PACKAGE_DELETE_FAILED' | 'PACKAGE_DELETE_PARTIAL' | 'PACKAGE_MANIFEST_INVALID' | 'PACKAGE_PUBLISH_FAILED' | 'PASSWORD_ALREADY_SET' | 'PASSWORD_EXPIRED' | 'PASSWORD_POLICY_VIOLATION' | 'PASSWORD_REUSE' | 'PAYLOAD_TOO_LARGE' | 'PERMISSION_NOT_ALLOWED' | 'PHONE_NOT_ENABLED' | 'PLUGIN_INSTALL_FAILED' | 'PLUGIN_MANIFEST_INVALID' | 'PLUGIN_REGISTER_FAILED' | 'PROJECT_MEMBERSHIP_REQUIRED' | 'PROJECT_NOT_FOUND' | 'PROJECT_PROVISIONING' | 'PROJECT_PROVISIONING_FAILED' | 'RAW_SQL_UNSUPPORTED' | 'RECORD_GONE' | 'RECORD_LOCKED' | 'REPORTS_LIST_FAILED' | 'REPORT_DELETE_FAILED' | 'REPORT_GET_FAILED' | 'REPORT_NOT_FOUND' | 'REPORT_RUN_FAILED' | 'REPORT_SAVE_FAILED' | 'REPORT_SCHEDULE_FAILED' | 'REQUEST_NOT_FOUND' | 'RESEED_NO_ROWS' | 'RESEED_SKIPPED' | 'ROUTE_NOT_FOUND' | 'RULE_DEFINE_FAILED' | 'RULE_DELETE_FAILED' | 'RULE_EVALUATE_FAILED' | 'RULE_GET_FAILED' | 'RULE_LIST_FAILED' | 'RULE_NOT_FOUND' | 'SAML_REGISTER_FAILED' | 'SCHEDULES_LIST_FAILED' | 'SCHEDULE_DELETE_FAILED' | 'SETTINGS_ACTION_FAILED' | 'SETTINGS_FORBIDDEN' | 'SETTINGS_LOCKED' | 'SETTINGS_UNKNOWN_KEY' | 'SETTINGS_UNKNOWN_NAMESPACE' | 'SETTINGS_VALIDATION' | 'SHARES_LIST_FAILED' | 'SHARE_GRANT_FAILED' | 'SHARE_REVOKE_FAILED' | 'SHARING_NOT_ENABLED' | 'SIGN_IN_REQUIRED' | 'SSO_REGISTER_FAILED' | 'SSO_REGISTER_FORBIDDEN' | 'SUGGESTION_CONFIRM_FAILED' | 'SUGGESTION_DISMISS_FAILED' | 'SUGGESTION_LIST_FAILED' | 'SUGGESTION_NOT_FOUND' | 'SUGGESTION_STATE' | 'SUMMARY_RECOMPUTE_FAILED' | 'UNAUTHORIZED' | 'UNIQUE_VIOLATION' | 'UNKNOWN_KEY' | 'UNKNOWN_NAMESPACE' | 'UNSUPPORTED' | 'UNSUPPORTED_QUERY_PARAM' | 'UNSUPPORTED_TRANSFORM' | 'UPLOAD_SESSION_NOT_FOUND' | 'USER_ALREADY_EXISTS' | 'VALIDATION_FAILED' | 'VERSION_NOT_FOUND' | 'VERSION_NOT_RESTORABLE' | 'WRITABLE_PACKAGE_REQUIRED' | 'WRONG_PASSWORD'>; message: string; category?: string; httpStatus?: integer; … }[]; data?: Record<string, any>; … }[] Detailed results for each record

UpdateNotificationPreferencesRequest

Properties

Property Type Required Description
preferences { email?: boolean; push?: boolean; inApp?: boolean; digest?: Enum<'none' | 'daily' | 'weekly'>; … } Preferences to update

UpdateNotificationPreferencesResponse

Properties

Property Type Required Description
preferences { email: boolean; push: boolean; inApp: boolean; digest: Enum<'none' | 'daily' | 'weekly'>; … } Updated notification preferences

UpdateViewRequest

Properties

Property Type Required Description
object string Object name (snake_case)
viewId string View identifier
data { list?: object; form?: object; listViews?: Record<string, { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … }>; formViews?: Record<string, { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … }>; … } Partial view data to update

UpdateViewResponse

Properties

Property Type Required Description
object string Object name
viewId string Updated view identifier
view { list?: object; form?: object; listViews?: Record<string, { name?: string; label?: string; type?: Enum<'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree'>; data?: { provider: 'object'; object: string } | { provider: 'api'; read?: object; write?: object } | { provider: 'value'; items: any[] } | { provider: 'schema'; schemaId: string; schema?: Record<string, any> }; … }>; formViews?: Record<string, { type?: Enum<'simple' | 'tabbed' | 'wizard' | 'split' | 'drawer' | 'modal'>; layout?: Enum<'vertical' | 'horizontal' | 'inline' | 'grid'>; columns?: integer; title?: string; … }>; … } Updated view definition

WorkflowState

Properties

Property Type Required Description
currentState string Current workflow state name
availableTransitions { name: string; targetState: string; label?: string; requiresApproval: boolean }[] Available transitions from current state
history { fromState: string; toState: string; action: string; userId: string; … }[] optional State transition history

WorkflowTransitionRequest

Properties

Property Type Required Description
object string Object name
recordId string Record ID
transition string Transition name to execute
comment string optional Optional comment for the transition
data Record<string, any> optional Additional data for the transition

WorkflowTransitionResponse

Properties

Property Type Required Description
object string Object name
recordId string Record ID
success boolean Whether the transition succeeded
state { currentState: string; availableTransitions: { name: string; targetState: string; label?: string; requiresApproval: boolean }[]; history?: { fromState: string; toState: string; action: string; userId: string; … }[] } New workflow state after transition