## Summary Drops the `postgresCredentials` legacy feature: a never-finished "postgres proxy" that would have let users query their workspace data over a standard Postgres connection. Nothing — frontend, e2e, Zapier, docs, other server code — calls these mutations/query. ## History - **Introduced** June 2024 (#5767, Thomas Trompette) as "first step for creating credentials for database proxy", alongside the Postgres FDW / remote-server work and the custom `twenty-postgres-spilo` image. Planned follow-ups (provisioning a DB on the proxy, mapping users, exposing it as a remote server) never landed. - **Abandoned** January 2026 (#17001, Weiko) when the sibling "remote integration" feature was removed as a BREAKING CHANGE — "not maintained for more than a year and never officially launched". The spilo image was then replaced with vanilla `postgres:16` (#19182, March 2026), retiring the FDW infrastructure entirely. - This PR finishes the cleanup: removes the orphaned module, the `allPostgresCredentials` relation, `JwtTokenTypeEnum.POSTGRES_PROXY` + payload, the reserved metadata keywords, and adds a 2.5.0 fast instance command that drops `core.postgresCredentials` (reversible `down`). Regenerated frontend GraphQL types + SDK metadata client. ## Test plan - [x] `tsgo --noEmit` clean on twenty-server + twenty-front; lint + prettier clean on touched files. - [x] `database:migrate:generate` reports no pending schema diff; server boots and serves the new schema.
4441 lines
100 KiB
GraphQL
4441 lines
100 KiB
GraphQL
interface BillingProductDTO {
|
|
name: String!
|
|
description: String!
|
|
images: [String!]
|
|
metadata: BillingProductMetadata!
|
|
}
|
|
|
|
type ApiKey {
|
|
id: UUID!
|
|
name: String!
|
|
expiresAt: DateTime!
|
|
revokedAt: DateTime
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
role: Role!
|
|
}
|
|
|
|
"""A UUID scalar type"""
|
|
scalar UUID
|
|
|
|
"""
|
|
A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.
|
|
"""
|
|
scalar DateTime
|
|
|
|
type ApplicationRegistrationVariable {
|
|
id: UUID!
|
|
key: String!
|
|
description: String!
|
|
isSecret: Boolean!
|
|
isRequired: Boolean!
|
|
isFilled: Boolean!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
type ApplicationRegistration {
|
|
id: UUID!
|
|
universalIdentifier: String!
|
|
name: String!
|
|
oAuthClientId: String!
|
|
oAuthRedirectUris: [String!]!
|
|
oAuthScopes: [String!]!
|
|
ownerWorkspaceId: UUID
|
|
sourceType: ApplicationRegistrationSourceType!
|
|
sourcePackage: String
|
|
latestAvailableVersion: String
|
|
isListed: Boolean!
|
|
isFeatured: Boolean!
|
|
isPreInstalled: Boolean!
|
|
logoUrl: String
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
isConfigured: Boolean!
|
|
}
|
|
|
|
enum ApplicationRegistrationSourceType {
|
|
NPM
|
|
TARBALL
|
|
LOCAL
|
|
OAUTH_ONLY
|
|
}
|
|
|
|
type TwoFactorAuthenticationMethodSummary {
|
|
twoFactorAuthenticationMethodId: UUID!
|
|
status: String!
|
|
strategy: String!
|
|
}
|
|
|
|
type RowLevelPermissionPredicateGroup {
|
|
id: String!
|
|
parentRowLevelPermissionPredicateGroupId: String
|
|
logicalOperator: RowLevelPermissionPredicateGroupLogicalOperator!
|
|
positionInRowLevelPermissionPredicateGroup: Float
|
|
roleId: String!
|
|
objectMetadataId: String!
|
|
}
|
|
|
|
enum RowLevelPermissionPredicateGroupLogicalOperator {
|
|
AND
|
|
OR
|
|
}
|
|
|
|
type RowLevelPermissionPredicate {
|
|
id: String!
|
|
fieldMetadataId: String!
|
|
objectMetadataId: String!
|
|
operand: RowLevelPermissionPredicateOperand!
|
|
subFieldName: String
|
|
workspaceMemberFieldMetadataId: String
|
|
workspaceMemberSubFieldName: String
|
|
rowLevelPermissionPredicateGroupId: String
|
|
positionInRowLevelPermissionPredicateGroup: Float
|
|
roleId: String!
|
|
value: JSON
|
|
}
|
|
|
|
enum RowLevelPermissionPredicateOperand {
|
|
IS
|
|
IS_NOT_NULL
|
|
IS_NOT
|
|
LESS_THAN_OR_EQUAL
|
|
GREATER_THAN_OR_EQUAL
|
|
IS_BEFORE
|
|
IS_AFTER
|
|
CONTAINS
|
|
DOES_NOT_CONTAIN
|
|
IS_EMPTY
|
|
IS_NOT_EMPTY
|
|
IS_RELATIVE
|
|
IS_IN_PAST
|
|
IS_IN_FUTURE
|
|
IS_TODAY
|
|
VECTOR_SEARCH
|
|
}
|
|
|
|
"""
|
|
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
|
|
"""
|
|
scalar JSON
|
|
|
|
type ObjectPermission {
|
|
objectMetadataId: UUID!
|
|
canReadObjectRecords: Boolean
|
|
canUpdateObjectRecords: Boolean
|
|
canSoftDeleteObjectRecords: Boolean
|
|
canDestroyObjectRecords: Boolean
|
|
restrictedFields: JSON
|
|
rowLevelPermissionPredicates: [RowLevelPermissionPredicate!]
|
|
rowLevelPermissionPredicateGroups: [RowLevelPermissionPredicateGroup!]
|
|
}
|
|
|
|
type UserWorkspace {
|
|
id: UUID!
|
|
user: User!
|
|
userId: UUID!
|
|
locale: String!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
permissionFlags: [PermissionFlagType!]
|
|
objectPermissions: [ObjectPermission!]
|
|
objectsPermissions: [ObjectPermission!]
|
|
twoFactorAuthenticationMethodSummary: [TwoFactorAuthenticationMethodSummary!]
|
|
}
|
|
|
|
enum PermissionFlagType {
|
|
API_KEYS_AND_WEBHOOKS
|
|
WORKSPACE
|
|
WORKSPACE_MEMBERS
|
|
ROLES
|
|
DATA_MODEL
|
|
SECURITY
|
|
WORKFLOWS
|
|
IMPERSONATE
|
|
SSO_BYPASS
|
|
APPLICATIONS
|
|
MARKETPLACE_APPS
|
|
LAYOUTS
|
|
BILLING
|
|
AI_SETTINGS
|
|
AI
|
|
VIEWS
|
|
UPLOAD_FILE
|
|
DOWNLOAD_FILE
|
|
SEND_EMAIL_TOOL
|
|
HTTP_REQUEST_TOOL
|
|
CODE_INTERPRETER_TOOL
|
|
IMPORT_CSV
|
|
EXPORT_CSV
|
|
CONNECTED_ACCOUNTS
|
|
PROFILE_INFORMATION
|
|
}
|
|
|
|
type FullName {
|
|
firstName: String!
|
|
lastName: String!
|
|
}
|
|
|
|
type WorkspaceMember {
|
|
id: UUID!
|
|
name: FullName!
|
|
userEmail: String!
|
|
colorScheme: String!
|
|
avatarUrl: String
|
|
locale: String
|
|
calendarStartDay: Int
|
|
timeZone: String
|
|
dateFormat: WorkspaceMemberDateFormatEnum
|
|
timeFormat: WorkspaceMemberTimeFormatEnum
|
|
roles: [Role!]
|
|
userWorkspaceId: UUID
|
|
numberFormat: WorkspaceMemberNumberFormatEnum
|
|
}
|
|
|
|
"""Date format as Month first, Day first, Year first or system as default"""
|
|
enum WorkspaceMemberDateFormatEnum {
|
|
SYSTEM
|
|
MONTH_FIRST
|
|
DAY_FIRST
|
|
YEAR_FIRST
|
|
}
|
|
|
|
"""Time time as Military, Standard or system as default"""
|
|
enum WorkspaceMemberTimeFormatEnum {
|
|
SYSTEM
|
|
HOUR_12
|
|
HOUR_24
|
|
}
|
|
|
|
"""Number format for displaying numbers"""
|
|
enum WorkspaceMemberNumberFormatEnum {
|
|
SYSTEM
|
|
COMMAS_AND_DOT
|
|
SPACES_AND_COMMA
|
|
DOTS_AND_COMMA
|
|
APOSTROPHE_AND_DOT
|
|
}
|
|
|
|
type Agent {
|
|
id: UUID!
|
|
name: String!
|
|
label: String!
|
|
icon: String
|
|
description: String
|
|
prompt: String!
|
|
modelId: String!
|
|
responseFormat: JSON
|
|
roleId: UUID
|
|
isCustom: Boolean!
|
|
applicationId: UUID
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
modelConfiguration: JSON
|
|
evaluationInputs: [String!]!
|
|
}
|
|
|
|
type FieldPermission {
|
|
id: UUID!
|
|
objectMetadataId: UUID!
|
|
fieldMetadataId: UUID!
|
|
roleId: UUID!
|
|
canReadFieldValue: Boolean
|
|
canUpdateFieldValue: Boolean
|
|
}
|
|
|
|
type PermissionFlag {
|
|
id: UUID!
|
|
roleId: UUID!
|
|
flag: PermissionFlagType!
|
|
}
|
|
|
|
type ApiKeyForRole {
|
|
id: UUID!
|
|
name: String!
|
|
expiresAt: DateTime!
|
|
revokedAt: DateTime
|
|
}
|
|
|
|
type Role {
|
|
id: UUID!
|
|
universalIdentifier: UUID
|
|
label: String!
|
|
description: String
|
|
icon: String
|
|
isEditable: Boolean!
|
|
canBeAssignedToUsers: Boolean!
|
|
canBeAssignedToAgents: Boolean!
|
|
canBeAssignedToApiKeys: Boolean!
|
|
workspaceMembers: [WorkspaceMember!]!
|
|
agents: [Agent!]!
|
|
apiKeys: [ApiKeyForRole!]!
|
|
canUpdateAllSettings: Boolean!
|
|
canAccessAllTools: Boolean!
|
|
canReadAllObjectRecords: Boolean!
|
|
canUpdateAllObjectRecords: Boolean!
|
|
canSoftDeleteAllObjectRecords: Boolean!
|
|
canDestroyAllObjectRecords: Boolean!
|
|
permissionFlags: [PermissionFlag!]
|
|
objectPermissions: [ObjectPermission!]
|
|
fieldPermissions: [FieldPermission!]
|
|
rowLevelPermissionPredicates: [RowLevelPermissionPredicate!]
|
|
rowLevelPermissionPredicateGroups: [RowLevelPermissionPredicateGroup!]
|
|
}
|
|
|
|
type ApplicationRegistrationSummary {
|
|
id: UUID!
|
|
latestAvailableVersion: String
|
|
sourceType: ApplicationRegistrationSourceType!
|
|
logoUrl: String
|
|
}
|
|
|
|
type ApplicationVariable {
|
|
id: UUID!
|
|
key: String!
|
|
value: String!
|
|
description: String!
|
|
isSecret: Boolean!
|
|
}
|
|
|
|
type AuthToken {
|
|
token: String!
|
|
expiresAt: DateTime!
|
|
}
|
|
|
|
type ApplicationTokenPair {
|
|
applicationAccessToken: AuthToken!
|
|
applicationRefreshToken: AuthToken!
|
|
}
|
|
|
|
type FrontComponent {
|
|
id: UUID!
|
|
name: String!
|
|
description: String
|
|
sourceComponentPath: String!
|
|
builtComponentPath: String!
|
|
componentName: String!
|
|
builtComponentChecksum: String!
|
|
universalIdentifier: UUID
|
|
applicationId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
isHeadless: Boolean!
|
|
usesSdkClient: Boolean!
|
|
applicationTokenPair: ApplicationTokenPair
|
|
applicationVariables: JSON
|
|
}
|
|
|
|
type CommandMenuItem {
|
|
id: UUID!
|
|
workflowVersionId: UUID
|
|
frontComponentId: UUID
|
|
frontComponent: FrontComponent
|
|
engineComponentKey: EngineComponentKey!
|
|
label: String!
|
|
icon: String
|
|
shortLabel: String
|
|
position: Float!
|
|
isPinned: Boolean!
|
|
availabilityType: CommandMenuItemAvailabilityType!
|
|
payload: CommandMenuItemPayload
|
|
hotKeys: [String!]
|
|
conditionalAvailabilityExpression: String
|
|
availabilityObjectMetadataId: UUID
|
|
pageLayoutId: UUID
|
|
universalIdentifier: UUID
|
|
applicationId: UUID
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
enum EngineComponentKey {
|
|
NAVIGATE_TO_NEXT_RECORD
|
|
NAVIGATE_TO_PREVIOUS_RECORD
|
|
CREATE_NEW_RECORD
|
|
DELETE_RECORDS
|
|
RESTORE_RECORDS
|
|
DESTROY_RECORDS
|
|
ADD_TO_FAVORITES
|
|
REMOVE_FROM_FAVORITES
|
|
EXPORT_NOTE_TO_PDF
|
|
EXPORT_RECORDS
|
|
UPDATE_MULTIPLE_RECORDS
|
|
MERGE_MULTIPLE_RECORDS
|
|
IMPORT_RECORDS
|
|
EXPORT_VIEW
|
|
SEE_DELETED_RECORDS
|
|
CREATE_NEW_VIEW
|
|
HIDE_DELETED_RECORDS
|
|
EDIT_RECORD_PAGE_LAYOUT
|
|
EDIT_DASHBOARD_LAYOUT
|
|
SAVE_DASHBOARD_LAYOUT
|
|
CANCEL_DASHBOARD_LAYOUT
|
|
DUPLICATE_DASHBOARD
|
|
ACTIVATE_WORKFLOW
|
|
DEACTIVATE_WORKFLOW
|
|
DISCARD_DRAFT_WORKFLOW
|
|
TEST_WORKFLOW
|
|
SEE_ACTIVE_VERSION_WORKFLOW
|
|
SEE_RUNS_WORKFLOW
|
|
SEE_VERSIONS_WORKFLOW
|
|
ADD_NODE_WORKFLOW
|
|
TIDY_UP_WORKFLOW
|
|
DUPLICATE_WORKFLOW
|
|
SEE_VERSION_WORKFLOW_RUN
|
|
SEE_WORKFLOW_WORKFLOW_RUN
|
|
STOP_WORKFLOW_RUN
|
|
SEE_RUNS_WORKFLOW_VERSION
|
|
SEE_WORKFLOW_WORKFLOW_VERSION
|
|
USE_AS_DRAFT_WORKFLOW_VERSION
|
|
SEE_VERSIONS_WORKFLOW_VERSION
|
|
SEARCH_RECORDS
|
|
SEARCH_RECORDS_FALLBACK
|
|
ASK_AI
|
|
VIEW_PREVIOUS_AI_CHATS
|
|
NAVIGATION
|
|
TRIGGER_WORKFLOW_VERSION
|
|
FRONT_COMPONENT_RENDERER
|
|
REPLY_TO_EMAIL_THREAD
|
|
COMPOSE_EMAIL
|
|
GO_TO_PEOPLE
|
|
GO_TO_COMPANIES
|
|
GO_TO_DASHBOARDS
|
|
GO_TO_OPPORTUNITIES
|
|
GO_TO_SETTINGS
|
|
GO_TO_TASKS
|
|
GO_TO_NOTES
|
|
GO_TO_WORKFLOWS
|
|
GO_TO_RUNS
|
|
DELETE_SINGLE_RECORD
|
|
DELETE_MULTIPLE_RECORDS
|
|
RESTORE_SINGLE_RECORD
|
|
RESTORE_MULTIPLE_RECORDS
|
|
DESTROY_SINGLE_RECORD
|
|
DESTROY_MULTIPLE_RECORDS
|
|
EXPORT_FROM_RECORD_INDEX
|
|
EXPORT_FROM_RECORD_SHOW
|
|
EXPORT_MULTIPLE_RECORDS
|
|
}
|
|
|
|
enum CommandMenuItemAvailabilityType {
|
|
GLOBAL
|
|
GLOBAL_OBJECT_CONTEXT
|
|
RECORD_SELECTION
|
|
FALLBACK
|
|
}
|
|
|
|
union CommandMenuItemPayload = PathCommandMenuItemPayload | ObjectMetadataCommandMenuItemPayload
|
|
|
|
type PathCommandMenuItemPayload {
|
|
path: String!
|
|
}
|
|
|
|
type ObjectMetadataCommandMenuItemPayload {
|
|
objectMetadataItemId: UUID!
|
|
}
|
|
|
|
type LogicFunction {
|
|
id: UUID!
|
|
name: String!
|
|
description: String
|
|
runtime: String!
|
|
timeoutSeconds: Float!
|
|
sourceHandlerPath: String!
|
|
handlerName: String!
|
|
cronTriggerSettings: JSON
|
|
databaseEventTriggerSettings: JSON
|
|
httpRouteTriggerSettings: JSON
|
|
toolTriggerSettings: JSON
|
|
workflowActionTriggerSettings: JSON
|
|
applicationId: UUID
|
|
universalIdentifier: UUID
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
type StandardOverrides {
|
|
label: String
|
|
description: String
|
|
icon: String
|
|
translations: JSON
|
|
}
|
|
|
|
type Field {
|
|
id: UUID!
|
|
universalIdentifier: String!
|
|
type: FieldMetadataType!
|
|
name: String!
|
|
label: String!
|
|
description: String
|
|
icon: String
|
|
standardOverrides: StandardOverrides
|
|
isCustom: Boolean
|
|
isActive: Boolean
|
|
isSystem: Boolean
|
|
isUIReadOnly: Boolean
|
|
isNullable: Boolean
|
|
isUnique: Boolean
|
|
defaultValue: JSON
|
|
options: JSON
|
|
settings: JSON
|
|
objectMetadataId: UUID!
|
|
isLabelSyncedWithName: Boolean
|
|
morphId: UUID
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
applicationId: UUID!
|
|
relation: Relation
|
|
morphRelations: [Relation!]
|
|
object: Object
|
|
}
|
|
|
|
"""Type of the field"""
|
|
enum FieldMetadataType {
|
|
ACTOR
|
|
ADDRESS
|
|
ARRAY
|
|
BOOLEAN
|
|
CURRENCY
|
|
DATE
|
|
DATE_TIME
|
|
EMAILS
|
|
FILES
|
|
FULL_NAME
|
|
LINKS
|
|
MORPH_RELATION
|
|
MULTI_SELECT
|
|
NUMBER
|
|
NUMERIC
|
|
PHONES
|
|
POSITION
|
|
RATING
|
|
RAW_JSON
|
|
RELATION
|
|
RICH_TEXT
|
|
SELECT
|
|
TEXT
|
|
TS_VECTOR
|
|
UUID
|
|
}
|
|
|
|
type IndexField {
|
|
id: UUID!
|
|
fieldMetadataId: UUID!
|
|
order: Float!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
type Index {
|
|
id: UUID!
|
|
name: String!
|
|
isCustom: Boolean
|
|
isUnique: Boolean!
|
|
indexWhereClause: String
|
|
indexType: IndexType!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
indexFieldMetadataList: [IndexField!]!
|
|
objectMetadata(
|
|
"""Limit or page results."""
|
|
paging: CursorPaging! = {first: 10}
|
|
|
|
"""Specify to filter the records returned."""
|
|
filter: ObjectFilter! = {}
|
|
): IndexObjectMetadataConnection!
|
|
indexFieldMetadatas(
|
|
"""Limit or page results."""
|
|
paging: CursorPaging! = {first: 10}
|
|
|
|
"""Specify to filter the records returned."""
|
|
filter: IndexFieldFilter! = {}
|
|
): IndexIndexFieldMetadatasConnection!
|
|
}
|
|
|
|
"""Type of the index"""
|
|
enum IndexType {
|
|
BTREE
|
|
GIN
|
|
}
|
|
|
|
input CursorPaging {
|
|
"""Paginate before opaque cursor"""
|
|
before: ConnectionCursor
|
|
|
|
"""Paginate after opaque cursor"""
|
|
after: ConnectionCursor
|
|
|
|
"""Paginate first"""
|
|
first: Int
|
|
|
|
"""Paginate last"""
|
|
last: Int
|
|
}
|
|
|
|
"""Cursor for paging through collections"""
|
|
scalar ConnectionCursor
|
|
|
|
input ObjectFilter {
|
|
and: [ObjectFilter!]
|
|
or: [ObjectFilter!]
|
|
id: UUIDFilterComparison
|
|
isCustom: BooleanFieldComparison
|
|
isRemote: BooleanFieldComparison
|
|
isActive: BooleanFieldComparison
|
|
isSystem: BooleanFieldComparison
|
|
isUIReadOnly: BooleanFieldComparison
|
|
isSearchable: BooleanFieldComparison
|
|
}
|
|
|
|
input UUIDFilterComparison {
|
|
is: Boolean
|
|
isNot: Boolean
|
|
eq: UUID
|
|
neq: UUID
|
|
gt: UUID
|
|
gte: UUID
|
|
lt: UUID
|
|
lte: UUID
|
|
like: UUID
|
|
notLike: UUID
|
|
iLike: UUID
|
|
notILike: UUID
|
|
in: [UUID!]
|
|
notIn: [UUID!]
|
|
}
|
|
|
|
input BooleanFieldComparison {
|
|
is: Boolean
|
|
isNot: Boolean
|
|
}
|
|
|
|
input IndexFieldFilter {
|
|
and: [IndexFieldFilter!]
|
|
or: [IndexFieldFilter!]
|
|
id: UUIDFilterComparison
|
|
fieldMetadataId: UUIDFilterComparison
|
|
}
|
|
|
|
type ObjectStandardOverrides {
|
|
labelSingular: String
|
|
labelPlural: String
|
|
description: String
|
|
icon: String
|
|
color: String
|
|
translations: JSON
|
|
}
|
|
|
|
type Object {
|
|
id: UUID!
|
|
universalIdentifier: String!
|
|
nameSingular: String!
|
|
namePlural: String!
|
|
labelSingular: String!
|
|
labelPlural: String!
|
|
description: String
|
|
icon: String
|
|
standardOverrides: ObjectStandardOverrides
|
|
shortcut: String
|
|
color: String
|
|
isCustom: Boolean!
|
|
isRemote: Boolean!
|
|
isActive: Boolean!
|
|
isSystem: Boolean!
|
|
isUIReadOnly: Boolean!
|
|
isSearchable: Boolean!
|
|
applicationId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
labelIdentifierFieldMetadataId: UUID
|
|
imageIdentifierFieldMetadataId: UUID
|
|
isLabelSyncedWithName: Boolean!
|
|
duplicateCriteria: [[String!]!]
|
|
fieldsList: [Field!]!
|
|
indexMetadataList: [Index!]!
|
|
fields(
|
|
"""Limit or page results."""
|
|
paging: CursorPaging! = {first: 10}
|
|
|
|
"""Specify to filter the records returned."""
|
|
filter: FieldFilter! = {}
|
|
): ObjectFieldsConnection!
|
|
indexMetadatas(
|
|
"""Limit or page results."""
|
|
paging: CursorPaging! = {first: 10}
|
|
|
|
"""Specify to filter the records returned."""
|
|
filter: IndexFilter! = {}
|
|
): ObjectIndexMetadatasConnection!
|
|
}
|
|
|
|
input FieldFilter {
|
|
and: [FieldFilter!]
|
|
or: [FieldFilter!]
|
|
id: UUIDFilterComparison
|
|
isCustom: BooleanFieldComparison
|
|
isActive: BooleanFieldComparison
|
|
isSystem: BooleanFieldComparison
|
|
isUIReadOnly: BooleanFieldComparison
|
|
objectMetadataId: UUIDFilterComparison
|
|
}
|
|
|
|
input IndexFilter {
|
|
and: [IndexFilter!]
|
|
or: [IndexFilter!]
|
|
id: UUIDFilterComparison
|
|
isCustom: BooleanFieldComparison
|
|
}
|
|
|
|
type Application {
|
|
id: UUID!
|
|
name: String!
|
|
description: String
|
|
logo: String
|
|
version: String
|
|
universalIdentifier: String!
|
|
packageJsonChecksum: String
|
|
packageJsonFileId: UUID
|
|
yarnLockChecksum: String
|
|
yarnLockFileId: UUID
|
|
availablePackages: JSON!
|
|
applicationRegistrationId: UUID
|
|
canBeUninstalled: Boolean!
|
|
defaultRoleId: String
|
|
settingsCustomTabFrontComponentId: UUID
|
|
defaultLogicFunctionRole: Role
|
|
agents: [Agent!]!
|
|
frontComponents: [FrontComponent!]!
|
|
commandMenuItems: [CommandMenuItem!]!
|
|
logicFunctions: [LogicFunction!]!
|
|
objects: [Object!]!
|
|
applicationVariables: [ApplicationVariable!]!
|
|
applicationRegistration: ApplicationRegistrationSummary
|
|
}
|
|
|
|
type ViewField {
|
|
id: UUID!
|
|
fieldMetadataId: UUID!
|
|
isVisible: Boolean!
|
|
size: Float!
|
|
position: Float!
|
|
aggregateOperation: AggregateOperations
|
|
viewId: UUID!
|
|
viewFieldGroupId: UUID
|
|
workspaceId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
isActive: Boolean!
|
|
deletedAt: DateTime
|
|
isOverridden: Boolean @deprecated(reason: "isOverridden is deprecated")
|
|
}
|
|
|
|
enum AggregateOperations {
|
|
MIN
|
|
MAX
|
|
AVG
|
|
SUM
|
|
COUNT
|
|
COUNT_UNIQUE_VALUES
|
|
COUNT_EMPTY
|
|
COUNT_NOT_EMPTY
|
|
COUNT_TRUE
|
|
COUNT_FALSE
|
|
PERCENTAGE_EMPTY
|
|
PERCENTAGE_NOT_EMPTY
|
|
}
|
|
|
|
type ViewFilterGroup {
|
|
id: UUID!
|
|
parentViewFilterGroupId: UUID
|
|
logicalOperator: ViewFilterGroupLogicalOperator!
|
|
positionInViewFilterGroup: Float
|
|
viewId: UUID!
|
|
workspaceId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
}
|
|
|
|
enum ViewFilterGroupLogicalOperator {
|
|
AND
|
|
OR
|
|
NOT
|
|
}
|
|
|
|
type ViewFilter {
|
|
id: UUID!
|
|
fieldMetadataId: UUID!
|
|
operand: ViewFilterOperand!
|
|
value: JSON!
|
|
viewFilterGroupId: UUID
|
|
positionInViewFilterGroup: Float
|
|
subFieldName: String
|
|
viewId: UUID!
|
|
workspaceId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
}
|
|
|
|
enum ViewFilterOperand {
|
|
IS
|
|
IS_NOT_NULL
|
|
IS_NOT
|
|
LESS_THAN_OR_EQUAL
|
|
GREATER_THAN_OR_EQUAL
|
|
IS_BEFORE
|
|
IS_AFTER
|
|
CONTAINS
|
|
DOES_NOT_CONTAIN
|
|
IS_EMPTY
|
|
IS_NOT_EMPTY
|
|
IS_RELATIVE
|
|
IS_IN_PAST
|
|
IS_IN_FUTURE
|
|
IS_TODAY
|
|
VECTOR_SEARCH
|
|
}
|
|
|
|
type ViewGroup {
|
|
id: UUID!
|
|
isVisible: Boolean!
|
|
fieldValue: String!
|
|
position: Float!
|
|
viewId: UUID!
|
|
workspaceId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
}
|
|
|
|
type ViewSort {
|
|
id: UUID!
|
|
fieldMetadataId: UUID!
|
|
direction: ViewSortDirection!
|
|
subFieldName: String
|
|
viewId: UUID!
|
|
workspaceId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
}
|
|
|
|
enum ViewSortDirection {
|
|
ASC
|
|
DESC
|
|
}
|
|
|
|
type ViewFieldGroup {
|
|
id: UUID!
|
|
name: String!
|
|
position: Float!
|
|
isVisible: Boolean!
|
|
viewId: UUID!
|
|
workspaceId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
isActive: Boolean!
|
|
deletedAt: DateTime
|
|
viewFields: [ViewField!]!
|
|
isOverridden: Boolean! @deprecated(reason: "isOverridden is deprecated")
|
|
}
|
|
|
|
type View {
|
|
id: UUID!
|
|
name: String!
|
|
objectMetadataId: UUID!
|
|
type: ViewType!
|
|
key: ViewKey
|
|
icon: String!
|
|
position: Float!
|
|
isCompact: Boolean!
|
|
isCustom: Boolean!
|
|
openRecordIn: ViewOpenRecordIn!
|
|
kanbanAggregateOperation: AggregateOperations
|
|
kanbanAggregateOperationFieldMetadataId: UUID
|
|
mainGroupByFieldMetadataId: UUID
|
|
shouldHideEmptyGroups: Boolean!
|
|
calendarFieldMetadataId: UUID
|
|
workspaceId: UUID!
|
|
anyFieldFilterValue: String
|
|
calendarLayout: ViewCalendarLayout
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
viewFields: [ViewField!]!
|
|
viewFilters: [ViewFilter!]!
|
|
viewFilterGroups: [ViewFilterGroup!]!
|
|
viewSorts: [ViewSort!]!
|
|
viewGroups: [ViewGroup!]!
|
|
viewFieldGroups: [ViewFieldGroup!]!
|
|
visibility: ViewVisibility!
|
|
createdByUserWorkspaceId: UUID
|
|
}
|
|
|
|
enum ViewType {
|
|
TABLE
|
|
KANBAN
|
|
CALENDAR
|
|
FIELDS_WIDGET
|
|
TABLE_WIDGET
|
|
}
|
|
|
|
enum ViewKey {
|
|
INDEX
|
|
}
|
|
|
|
enum ViewOpenRecordIn {
|
|
SIDE_PANEL
|
|
RECORD_PAGE
|
|
}
|
|
|
|
enum ViewCalendarLayout {
|
|
DAY
|
|
WEEK
|
|
MONTH
|
|
}
|
|
|
|
enum ViewVisibility {
|
|
WORKSPACE
|
|
UNLISTED
|
|
}
|
|
|
|
type Workspace {
|
|
id: UUID!
|
|
displayName: String
|
|
logo: String
|
|
logoFileId: UUID
|
|
inviteHash: String
|
|
deletedAt: DateTime
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
allowImpersonation: Boolean!
|
|
isPublicInviteLinkEnabled: Boolean!
|
|
trashRetentionDays: Float!
|
|
eventLogRetentionDays: Float!
|
|
workspaceMembersCount: Float
|
|
activationStatus: WorkspaceActivationStatus!
|
|
views: [View!]
|
|
viewFields: [ViewField!]
|
|
viewFilters: [ViewFilter!]
|
|
viewFilterGroups: [ViewFilterGroup!]
|
|
viewGroups: [ViewGroup!]
|
|
viewSorts: [ViewSort!]
|
|
metadataVersion: Float!
|
|
databaseSchema: String
|
|
subdomain: String!
|
|
customDomain: String
|
|
isGoogleAuthEnabled: Boolean!
|
|
isGoogleAuthBypassEnabled: Boolean!
|
|
isTwoFactorAuthenticationEnforced: Boolean!
|
|
isPasswordAuthEnabled: Boolean!
|
|
isPasswordAuthBypassEnabled: Boolean!
|
|
isMicrosoftAuthEnabled: Boolean!
|
|
isMicrosoftAuthBypassEnabled: Boolean!
|
|
isCustomDomainEnabled: Boolean!
|
|
isInternalMessagesImportEnabled: Boolean!
|
|
editableProfileFields: [String!]
|
|
defaultRole: Role
|
|
fastModel: String!
|
|
smartModel: String!
|
|
aiAdditionalInstructions: String
|
|
enabledAiModelIds: [String!]
|
|
useRecommendedModels: Boolean!
|
|
routerModel: String!
|
|
workspaceCustomApplication: Application
|
|
featureFlags: [FeatureFlag!]
|
|
billingSubscriptions: [BillingSubscription!]!
|
|
installedApplications: [Application!]!
|
|
currentBillingSubscription: BillingSubscription
|
|
billingEntitlements: [BillingEntitlement!]!
|
|
hasValidEnterpriseKey: Boolean!
|
|
hasValidSignedEnterpriseKey: Boolean!
|
|
hasValidEnterpriseValidityToken: Boolean!
|
|
workspaceUrls: WorkspaceUrls!
|
|
workspaceCustomApplicationId: String!
|
|
}
|
|
|
|
enum WorkspaceActivationStatus {
|
|
ONGOING_CREATION
|
|
PENDING_CREATION
|
|
ACTIVE
|
|
INACTIVE
|
|
SUSPENDED
|
|
}
|
|
|
|
type AppToken {
|
|
id: UUID!
|
|
type: String!
|
|
expiresAt: DateTime!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
type User {
|
|
id: UUID!
|
|
firstName: String!
|
|
lastName: String!
|
|
email: String!
|
|
isEmailVerified: Boolean!
|
|
disabled: Boolean
|
|
canImpersonate: Boolean!
|
|
canAccessFullAdminPanel: Boolean!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
locale: String!
|
|
workspaceMember: WorkspaceMember
|
|
userWorkspaces: [UserWorkspace!]!
|
|
onboardingStatus: OnboardingStatus
|
|
currentWorkspace: Workspace
|
|
currentUserWorkspace: UserWorkspace
|
|
userVars: JSONObject
|
|
workspaceMembers: [WorkspaceMember!]
|
|
deletedWorkspaceMembers: [DeletedWorkspaceMember!]
|
|
hasPassword: Boolean!
|
|
supportUserHash: String
|
|
workspaces: [UserWorkspace!]!
|
|
availableWorkspaces: AvailableWorkspaces!
|
|
}
|
|
|
|
"""Onboarding status"""
|
|
enum OnboardingStatus {
|
|
PLAN_REQUIRED
|
|
WORKSPACE_ACTIVATION
|
|
PROFILE_CREATION
|
|
SYNC_EMAIL
|
|
INVITE_TEAM
|
|
BOOK_ONBOARDING
|
|
COMPLETED
|
|
}
|
|
|
|
"""
|
|
The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
|
|
"""
|
|
scalar JSONObject
|
|
|
|
type RatioAggregateConfig {
|
|
fieldMetadataId: UUID!
|
|
optionValue: String!
|
|
}
|
|
|
|
type RichTextBody {
|
|
blocknote: String
|
|
markdown: String
|
|
}
|
|
|
|
type GridPosition {
|
|
row: Float!
|
|
column: Float!
|
|
rowSpan: Float!
|
|
columnSpan: Float!
|
|
}
|
|
|
|
type PageLayoutWidget {
|
|
id: UUID!
|
|
applicationId: UUID!
|
|
pageLayoutTabId: UUID!
|
|
title: String!
|
|
type: WidgetType!
|
|
objectMetadataId: UUID
|
|
gridPosition: GridPosition! @deprecated(reason: "Use `position` instead. Will be removed in a future release.")
|
|
position: PageLayoutWidgetPosition
|
|
configuration: WidgetConfiguration!
|
|
conditionalDisplay: JSON
|
|
conditionalAvailabilityExpression: String
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
isActive: Boolean!
|
|
deletedAt: DateTime
|
|
isOverridden: Boolean @deprecated(reason: "isOverridden is deprecated")
|
|
}
|
|
|
|
enum WidgetType {
|
|
VIEW
|
|
IFRAME
|
|
FIELD
|
|
FIELDS
|
|
GRAPH
|
|
STANDALONE_RICH_TEXT
|
|
TIMELINE
|
|
TASKS
|
|
NOTES
|
|
FILES
|
|
EMAILS
|
|
CALENDAR
|
|
FIELD_RICH_TEXT
|
|
WORKFLOW
|
|
WORKFLOW_VERSION
|
|
WORKFLOW_RUN
|
|
FRONT_COMPONENT
|
|
RECORD_TABLE
|
|
EMAIL_THREAD
|
|
}
|
|
|
|
union PageLayoutWidgetPosition = PageLayoutWidgetGridPosition | PageLayoutWidgetVerticalListPosition | PageLayoutWidgetCanvasPosition
|
|
|
|
type PageLayoutWidgetGridPosition {
|
|
layoutMode: PageLayoutTabLayoutMode!
|
|
row: Int!
|
|
column: Int!
|
|
rowSpan: Int!
|
|
columnSpan: Int!
|
|
}
|
|
|
|
enum PageLayoutTabLayoutMode {
|
|
GRID
|
|
VERTICAL_LIST
|
|
CANVAS
|
|
}
|
|
|
|
type PageLayoutWidgetVerticalListPosition {
|
|
layoutMode: PageLayoutTabLayoutMode!
|
|
index: Int!
|
|
}
|
|
|
|
type PageLayoutWidgetCanvasPosition {
|
|
layoutMode: PageLayoutTabLayoutMode!
|
|
}
|
|
|
|
union WidgetConfiguration = AggregateChartConfiguration | StandaloneRichTextConfiguration | PieChartConfiguration | LineChartConfiguration | IframeConfiguration | GaugeChartConfiguration | BarChartConfiguration | CalendarConfiguration | FrontComponentConfiguration | EmailsConfiguration | EmailThreadConfiguration | FieldConfiguration | FieldRichTextConfiguration | FieldsConfiguration | FilesConfiguration | NotesConfiguration | TasksConfiguration | TimelineConfiguration | ViewConfiguration | RecordTableConfiguration | WorkflowConfiguration | WorkflowRunConfiguration | WorkflowVersionConfiguration
|
|
|
|
type AggregateChartConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
aggregateFieldMetadataId: UUID!
|
|
aggregateOperation: AggregateOperations!
|
|
label: String
|
|
displayDataLabel: Boolean
|
|
format: String
|
|
description: String
|
|
filter: JSON
|
|
timezone: String
|
|
firstDayOfTheWeek: Int
|
|
prefix: String
|
|
suffix: String
|
|
ratioAggregateConfig: RatioAggregateConfig
|
|
}
|
|
|
|
enum WidgetConfigurationType {
|
|
AGGREGATE_CHART
|
|
GAUGE_CHART
|
|
PIE_CHART
|
|
BAR_CHART
|
|
LINE_CHART
|
|
IFRAME
|
|
STANDALONE_RICH_TEXT
|
|
VIEW
|
|
FIELD
|
|
FIELDS
|
|
TIMELINE
|
|
TASKS
|
|
NOTES
|
|
FILES
|
|
EMAILS
|
|
CALENDAR
|
|
FIELD_RICH_TEXT
|
|
WORKFLOW
|
|
WORKFLOW_VERSION
|
|
WORKFLOW_RUN
|
|
FRONT_COMPONENT
|
|
RECORD_TABLE
|
|
EMAIL_THREAD
|
|
}
|
|
|
|
type StandaloneRichTextConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
body: RichTextBody!
|
|
}
|
|
|
|
type PieChartConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
aggregateFieldMetadataId: UUID!
|
|
aggregateOperation: AggregateOperations!
|
|
groupByFieldMetadataId: UUID!
|
|
groupBySubFieldName: String
|
|
dateGranularity: ObjectRecordGroupByDateGranularity
|
|
orderBy: GraphOrderBy
|
|
manualSortOrder: [String!]
|
|
displayDataLabel: Boolean
|
|
showCenterMetric: Boolean
|
|
displayLegend: Boolean
|
|
hideEmptyCategory: Boolean
|
|
splitMultiValueFields: Boolean
|
|
description: String
|
|
color: String
|
|
filter: JSON
|
|
timezone: String
|
|
firstDayOfTheWeek: Int
|
|
}
|
|
|
|
"""
|
|
Date granularity options (e.g. DAY, MONTH, QUARTER, YEAR, WEEK, DAY_OF_THE_WEEK, MONTH_OF_THE_YEAR, QUARTER_OF_THE_YEAR)
|
|
"""
|
|
enum ObjectRecordGroupByDateGranularity {
|
|
DAY
|
|
MONTH
|
|
QUARTER
|
|
YEAR
|
|
WEEK
|
|
DAY_OF_THE_WEEK
|
|
MONTH_OF_THE_YEAR
|
|
QUARTER_OF_THE_YEAR
|
|
NONE
|
|
}
|
|
|
|
"""Order by options for graph widgets"""
|
|
enum GraphOrderBy {
|
|
FIELD_ASC
|
|
FIELD_DESC
|
|
FIELD_POSITION_ASC
|
|
FIELD_POSITION_DESC
|
|
VALUE_ASC
|
|
VALUE_DESC
|
|
MANUAL
|
|
}
|
|
|
|
type LineChartConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
aggregateFieldMetadataId: UUID!
|
|
aggregateOperation: AggregateOperations!
|
|
primaryAxisGroupByFieldMetadataId: UUID!
|
|
primaryAxisGroupBySubFieldName: String
|
|
primaryAxisDateGranularity: ObjectRecordGroupByDateGranularity
|
|
primaryAxisOrderBy: GraphOrderBy
|
|
primaryAxisManualSortOrder: [String!]
|
|
secondaryAxisGroupByFieldMetadataId: UUID
|
|
secondaryAxisGroupBySubFieldName: String
|
|
secondaryAxisGroupByDateGranularity: ObjectRecordGroupByDateGranularity
|
|
secondaryAxisOrderBy: GraphOrderBy
|
|
secondaryAxisManualSortOrder: [String!]
|
|
omitNullValues: Boolean
|
|
splitMultiValueFields: Boolean
|
|
axisNameDisplay: AxisNameDisplay
|
|
displayDataLabel: Boolean
|
|
displayLegend: Boolean
|
|
rangeMin: Float
|
|
rangeMax: Float
|
|
description: String
|
|
color: String
|
|
filter: JSON
|
|
isStacked: Boolean
|
|
isCumulative: Boolean
|
|
timezone: String
|
|
firstDayOfTheWeek: Int
|
|
}
|
|
|
|
"""Which axes should display labels"""
|
|
enum AxisNameDisplay {
|
|
NONE
|
|
X
|
|
Y
|
|
BOTH
|
|
}
|
|
|
|
type IframeConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
url: String
|
|
}
|
|
|
|
type GaugeChartConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
aggregateFieldMetadataId: UUID!
|
|
aggregateOperation: AggregateOperations!
|
|
displayDataLabel: Boolean
|
|
color: String
|
|
description: String
|
|
filter: JSON
|
|
timezone: String
|
|
firstDayOfTheWeek: Int
|
|
}
|
|
|
|
type BarChartConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
aggregateFieldMetadataId: UUID!
|
|
aggregateOperation: AggregateOperations!
|
|
primaryAxisGroupByFieldMetadataId: UUID!
|
|
primaryAxisGroupBySubFieldName: String
|
|
primaryAxisDateGranularity: ObjectRecordGroupByDateGranularity
|
|
primaryAxisOrderBy: GraphOrderBy
|
|
primaryAxisManualSortOrder: [String!]
|
|
secondaryAxisGroupByFieldMetadataId: UUID
|
|
secondaryAxisGroupBySubFieldName: String
|
|
secondaryAxisGroupByDateGranularity: ObjectRecordGroupByDateGranularity
|
|
secondaryAxisOrderBy: GraphOrderBy
|
|
secondaryAxisManualSortOrder: [String!]
|
|
omitNullValues: Boolean
|
|
splitMultiValueFields: Boolean
|
|
axisNameDisplay: AxisNameDisplay
|
|
displayDataLabel: Boolean
|
|
displayLegend: Boolean
|
|
rangeMin: Float
|
|
rangeMax: Float
|
|
description: String
|
|
color: String
|
|
filter: JSON
|
|
groupMode: BarChartGroupMode
|
|
layout: BarChartLayout!
|
|
isCumulative: Boolean
|
|
timezone: String
|
|
firstDayOfTheWeek: Int
|
|
}
|
|
|
|
"""Display mode for bar charts with secondary grouping"""
|
|
enum BarChartGroupMode {
|
|
STACKED
|
|
GROUPED
|
|
}
|
|
|
|
"""Layout orientation for bar charts"""
|
|
enum BarChartLayout {
|
|
VERTICAL
|
|
HORIZONTAL
|
|
}
|
|
|
|
type CalendarConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type FrontComponentConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
frontComponentId: UUID!
|
|
}
|
|
|
|
type EmailsConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type EmailThreadConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type FieldConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
fieldMetadataId: String!
|
|
fieldDisplayMode: FieldDisplayMode!
|
|
}
|
|
|
|
"""Display mode for field configuration widgets"""
|
|
enum FieldDisplayMode {
|
|
CARD
|
|
EDITOR
|
|
FIELD
|
|
VIEW
|
|
}
|
|
|
|
type FieldRichTextConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type FieldsConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
viewId: String
|
|
newFieldDefaultVisibility: Boolean
|
|
shouldAllowUserToSeeHiddenFields: Boolean
|
|
}
|
|
|
|
type FilesConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type NotesConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type TasksConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type TimelineConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type ViewConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type RecordTableConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
viewId: String
|
|
}
|
|
|
|
type WorkflowConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type WorkflowRunConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type WorkflowVersionConfiguration {
|
|
configurationType: WidgetConfigurationType!
|
|
}
|
|
|
|
type PageLayoutTab {
|
|
id: UUID!
|
|
applicationId: UUID!
|
|
title: String!
|
|
position: Float!
|
|
pageLayoutId: UUID!
|
|
widgets: [PageLayoutWidget!]
|
|
icon: String
|
|
layoutMode: PageLayoutTabLayoutMode
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
isActive: Boolean!
|
|
deletedAt: DateTime
|
|
isOverridden: Boolean @deprecated(reason: "isOverridden is deprecated")
|
|
}
|
|
|
|
type PageLayout {
|
|
id: UUID!
|
|
name: String!
|
|
type: PageLayoutType!
|
|
objectMetadataId: UUID
|
|
tabs: [PageLayoutTab!]
|
|
defaultTabToFocusOnMobileAndSidePanelId: UUID
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
}
|
|
|
|
enum PageLayoutType {
|
|
RECORD_INDEX
|
|
RECORD_PAGE
|
|
DASHBOARD
|
|
STANDALONE_PAGE
|
|
}
|
|
|
|
type ApplicationConnectionProviderOAuthConfig {
|
|
scopes: [String!]!
|
|
isClientCredentialsConfigured: Boolean!
|
|
}
|
|
|
|
type ApplicationConnectionProvider {
|
|
id: UUID!
|
|
applicationId: String!
|
|
type: String!
|
|
name: String!
|
|
displayName: String!
|
|
oauth: ApplicationConnectionProviderOAuthConfig
|
|
}
|
|
|
|
type Analytics {
|
|
"""Boolean that confirms query was dispatched"""
|
|
success: Boolean!
|
|
}
|
|
|
|
type ApprovedAccessDomain {
|
|
id: UUID!
|
|
domain: String!
|
|
isValidated: Boolean!
|
|
createdAt: DateTime!
|
|
}
|
|
|
|
type FileWithSignedUrl {
|
|
id: UUID!
|
|
path: String!
|
|
size: Float!
|
|
createdAt: DateTime!
|
|
url: String!
|
|
}
|
|
|
|
type EnterpriseLicenseInfoDTO {
|
|
isValid: Boolean!
|
|
licensee: String
|
|
expiresAt: DateTime
|
|
subscriptionId: String
|
|
}
|
|
|
|
type EnterpriseSubscriptionStatusDTO {
|
|
status: String!
|
|
licensee: String
|
|
expiresAt: DateTime
|
|
cancelAt: DateTime
|
|
currentPeriodEnd: DateTime
|
|
isCancellationScheduled: Boolean!
|
|
}
|
|
|
|
type BillingSubscriptionSchedulePhaseItem {
|
|
price: String!
|
|
quantity: Float
|
|
}
|
|
|
|
type BillingSubscriptionSchedulePhase {
|
|
start_date: Float!
|
|
end_date: Float!
|
|
items: [BillingSubscriptionSchedulePhaseItem!]!
|
|
}
|
|
|
|
type BillingProductMetadata {
|
|
planKey: BillingPlanKey!
|
|
priceUsageBased: BillingUsageType!
|
|
productKey: BillingProductKey!
|
|
}
|
|
|
|
"""The different billing plans available"""
|
|
enum BillingPlanKey {
|
|
PRO
|
|
ENTERPRISE
|
|
}
|
|
|
|
enum BillingUsageType {
|
|
METERED
|
|
LICENSED
|
|
}
|
|
|
|
"""The different billing products available"""
|
|
enum BillingProductKey {
|
|
BASE_PRODUCT
|
|
RESOURCE_CREDIT
|
|
}
|
|
|
|
type BillingPriceLicensed {
|
|
recurringInterval: SubscriptionInterval!
|
|
unitAmount: Float!
|
|
stripePriceId: String!
|
|
priceUsageType: BillingUsageType!
|
|
creditAmount: Float
|
|
}
|
|
|
|
enum SubscriptionInterval {
|
|
Month
|
|
Year
|
|
}
|
|
|
|
type BillingPriceTier {
|
|
upTo: Float
|
|
flatAmount: Float
|
|
unitAmount: Float
|
|
}
|
|
|
|
type BillingPriceMetered {
|
|
tiers: [BillingPriceTier!]!
|
|
recurringInterval: SubscriptionInterval!
|
|
stripePriceId: String!
|
|
priceUsageType: BillingUsageType!
|
|
}
|
|
|
|
type BillingProduct {
|
|
name: String!
|
|
description: String!
|
|
images: [String!]
|
|
metadata: BillingProductMetadata!
|
|
}
|
|
|
|
type BillingLicensedProduct implements BillingProductDTO {
|
|
name: String!
|
|
description: String!
|
|
images: [String!]
|
|
metadata: BillingProductMetadata!
|
|
prices: [BillingPriceLicensed!]
|
|
}
|
|
|
|
type BillingMeteredProduct implements BillingProductDTO {
|
|
name: String!
|
|
description: String!
|
|
images: [String!]
|
|
metadata: BillingProductMetadata!
|
|
prices: [BillingPriceMetered!]
|
|
}
|
|
|
|
type BillingSubscriptionItem {
|
|
id: UUID!
|
|
hasReachedCurrentPeriodCap: Boolean!
|
|
quantity: Float
|
|
stripePriceId: String!
|
|
billingProduct: BillingProductDTO!
|
|
}
|
|
|
|
type BillingSubscription {
|
|
id: UUID!
|
|
status: SubscriptionStatus!
|
|
interval: SubscriptionInterval
|
|
billingSubscriptionItems: [BillingSubscriptionItem!]
|
|
currentPeriodEnd: DateTime
|
|
metadata: JSON!
|
|
phases: [BillingSubscriptionSchedulePhase!]!
|
|
}
|
|
|
|
enum SubscriptionStatus {
|
|
Active
|
|
Canceled
|
|
Incomplete
|
|
IncompleteExpired
|
|
PastDue
|
|
Paused
|
|
Trialing
|
|
Unpaid
|
|
}
|
|
|
|
type BillingEndTrialPeriod {
|
|
"""Updated subscription status"""
|
|
status: SubscriptionStatus
|
|
|
|
"""Boolean that confirms if a payment method was found"""
|
|
hasPaymentMethod: Boolean!
|
|
|
|
"""
|
|
Billing portal URL for payment method update (returned when no payment method exists)
|
|
"""
|
|
billingPortalUrl: String
|
|
}
|
|
|
|
type BillingResourceCreditUsage {
|
|
productKey: BillingProductKey!
|
|
periodStart: DateTime!
|
|
periodEnd: DateTime!
|
|
usedCredits: Float!
|
|
grantedCredits: Float!
|
|
rolloverCredits: Float!
|
|
totalGrantedCredits: Float!
|
|
unitPriceCents: Float!
|
|
}
|
|
|
|
type BillingPlan {
|
|
planKey: BillingPlanKey!
|
|
baseProducts: [BillingLicensedProduct!]!
|
|
resourceCreditProducts: [BillingLicensedProduct!]!
|
|
meteredProducts: [BillingMeteredProduct!]!
|
|
}
|
|
|
|
type BillingSession {
|
|
url: String
|
|
}
|
|
|
|
type BillingUpdate {
|
|
"""Current billing subscription"""
|
|
currentBillingSubscription: BillingSubscription!
|
|
|
|
"""All billing subscriptions"""
|
|
billingSubscriptions: [BillingSubscription!]!
|
|
}
|
|
|
|
type OnboardingStepSuccess {
|
|
"""Boolean that confirms query was dispatched"""
|
|
success: Boolean!
|
|
}
|
|
|
|
type WorkspaceInvitation {
|
|
id: UUID!
|
|
email: String!
|
|
roleId: UUID
|
|
expiresAt: DateTime!
|
|
}
|
|
|
|
type SendInvitations {
|
|
"""Boolean that confirms query was dispatched"""
|
|
success: Boolean!
|
|
errors: [String!]!
|
|
result: [WorkspaceInvitation!]!
|
|
}
|
|
|
|
type RecordIdentifier {
|
|
id: UUID!
|
|
labelIdentifier: String!
|
|
imageIdentifier: String
|
|
}
|
|
|
|
type NavigationMenuItem {
|
|
id: UUID!
|
|
userWorkspaceId: UUID
|
|
targetRecordId: UUID
|
|
targetObjectMetadataId: UUID
|
|
viewId: UUID
|
|
type: NavigationMenuItemType!
|
|
name: String
|
|
link: String
|
|
icon: String
|
|
color: String
|
|
folderId: UUID
|
|
pageLayoutId: UUID
|
|
position: Float!
|
|
applicationId: UUID
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
targetRecordIdentifier: RecordIdentifier
|
|
}
|
|
|
|
enum NavigationMenuItemType {
|
|
VIEW
|
|
FOLDER
|
|
LINK
|
|
OBJECT
|
|
RECORD
|
|
PAGE_LAYOUT
|
|
}
|
|
|
|
type ObjectRecordEventProperties {
|
|
updatedFields: [String!]
|
|
before: JSON
|
|
after: JSON
|
|
diff: JSON
|
|
}
|
|
|
|
type MetadataEvent {
|
|
type: MetadataEventAction!
|
|
metadataName: String!
|
|
recordId: String!
|
|
properties: ObjectRecordEventProperties!
|
|
updatedCollectionHash: String
|
|
}
|
|
|
|
"""Metadata Event Action"""
|
|
enum MetadataEventAction {
|
|
CREATED
|
|
UPDATED
|
|
DELETED
|
|
}
|
|
|
|
type ObjectRecordEvent {
|
|
action: DatabaseEventAction!
|
|
objectNameSingular: String!
|
|
recordId: String!
|
|
userId: String
|
|
workspaceMemberId: String
|
|
properties: ObjectRecordEventProperties!
|
|
}
|
|
|
|
"""Database Event Action"""
|
|
enum DatabaseEventAction {
|
|
CREATED
|
|
UPDATED
|
|
DELETED
|
|
DESTROYED
|
|
RESTORED
|
|
UPSERTED
|
|
}
|
|
|
|
type ObjectRecordEventWithQueryIds {
|
|
queryIds: [String!]!
|
|
objectRecordEvent: ObjectRecordEvent!
|
|
}
|
|
|
|
type EventSubscription {
|
|
eventStreamId: String!
|
|
objectRecordEventsWithQueryIds: [ObjectRecordEventWithQueryIds!]!
|
|
metadataEvents: [MetadataEvent!]!
|
|
}
|
|
|
|
type LogicFunctionExecutionResult {
|
|
"""Execution result in JSON format"""
|
|
data: JSON
|
|
|
|
"""Execution Logs"""
|
|
logs: String!
|
|
|
|
"""Execution duration in milliseconds"""
|
|
duration: Float!
|
|
|
|
"""Execution status"""
|
|
status: LogicFunctionExecutionStatus!
|
|
|
|
"""Execution error in JSON format"""
|
|
error: JSON
|
|
}
|
|
|
|
"""Status of the logic function execution"""
|
|
enum LogicFunctionExecutionStatus {
|
|
IDLE
|
|
SUCCESS
|
|
ERROR
|
|
}
|
|
|
|
type FeatureFlag {
|
|
key: FeatureFlagKey!
|
|
value: Boolean!
|
|
}
|
|
|
|
enum FeatureFlagKey {
|
|
IS_UNIQUE_INDEXES_ENABLED
|
|
IS_JSON_FILTER_ENABLED
|
|
IS_MARKETPLACE_SETTING_TAB_VISIBLE
|
|
IS_PUBLIC_DOMAIN_ENABLED
|
|
IS_EMAILING_DOMAIN_ENABLED
|
|
IS_EMAIL_GROUP_ENABLED
|
|
IS_JUNCTION_RELATIONS_ENABLED
|
|
IS_REST_METADATA_API_NEW_FORMAT_DIRECT
|
|
}
|
|
|
|
type WorkspaceUrls {
|
|
customUrl: String
|
|
subdomainUrl: String!
|
|
}
|
|
|
|
type BillingTrialPeriod {
|
|
duration: Float!
|
|
isCreditCardRequired: Boolean!
|
|
}
|
|
|
|
type SSOIdentityProvider {
|
|
id: UUID!
|
|
name: String!
|
|
type: IdentityProviderType!
|
|
status: SSOIdentityProviderStatus!
|
|
issuer: String!
|
|
}
|
|
|
|
enum IdentityProviderType {
|
|
OIDC
|
|
SAML
|
|
}
|
|
|
|
enum SSOIdentityProviderStatus {
|
|
Active
|
|
Inactive
|
|
Error
|
|
}
|
|
|
|
type AuthProviders {
|
|
sso: [SSOIdentityProvider!]!
|
|
google: Boolean!
|
|
magicLink: Boolean!
|
|
password: Boolean!
|
|
microsoft: Boolean!
|
|
}
|
|
|
|
type AuthBypassProviders {
|
|
google: Boolean!
|
|
password: Boolean!
|
|
microsoft: Boolean!
|
|
}
|
|
|
|
type PublicWorkspaceData {
|
|
id: UUID!
|
|
authProviders: AuthProviders!
|
|
authBypassProviders: AuthBypassProviders
|
|
logo: String
|
|
displayName: String
|
|
workspaceUrls: WorkspaceUrls!
|
|
}
|
|
|
|
type PublicWorkspaceDataSummary {
|
|
id: UUID!
|
|
logo: String
|
|
displayName: String
|
|
}
|
|
|
|
type NativeModelCapabilities {
|
|
webSearch: Boolean
|
|
twitterSearch: Boolean
|
|
}
|
|
|
|
type ClientAiModelConfig {
|
|
modelId: String!
|
|
label: String!
|
|
modelFamily: ModelFamily
|
|
modelFamilyLabel: String
|
|
sdkPackage: String
|
|
inputCostPerMillionTokens: Float
|
|
outputCostPerMillionTokens: Float
|
|
nativeCapabilities: NativeModelCapabilities
|
|
isDeprecated: Boolean
|
|
isRecommended: Boolean
|
|
providerName: String
|
|
providerLabel: String
|
|
contextWindowTokens: Float
|
|
maxOutputTokens: Float
|
|
dataResidency: String
|
|
}
|
|
|
|
enum ModelFamily {
|
|
GPT
|
|
CLAUDE
|
|
GEMINI
|
|
MISTRAL
|
|
GROK
|
|
}
|
|
|
|
type Billing {
|
|
isBillingEnabled: Boolean!
|
|
billingUrl: String
|
|
trialPeriods: [BillingTrialPeriod!]!
|
|
}
|
|
|
|
type Support {
|
|
supportDriver: SupportDriver!
|
|
supportFrontChatId: String
|
|
}
|
|
|
|
enum SupportDriver {
|
|
NONE
|
|
FRONT
|
|
}
|
|
|
|
type Sentry {
|
|
environment: String
|
|
release: String
|
|
dsn: String
|
|
}
|
|
|
|
type Captcha {
|
|
provider: CaptchaDriverType
|
|
siteKey: String
|
|
}
|
|
|
|
enum CaptchaDriverType {
|
|
GOOGLE_RECAPTCHA
|
|
TURNSTILE
|
|
}
|
|
|
|
type ApiConfig {
|
|
mutationMaximumAffectedRecords: Float!
|
|
}
|
|
|
|
type PublicFeatureFlagMetadata {
|
|
label: String!
|
|
description: String!
|
|
imagePath: String
|
|
}
|
|
|
|
type PublicFeatureFlag {
|
|
key: FeatureFlagKey!
|
|
metadata: PublicFeatureFlagMetadata!
|
|
}
|
|
|
|
type ClientConfigMaintenanceMode {
|
|
startAt: DateTime!
|
|
endAt: DateTime!
|
|
link: String
|
|
}
|
|
|
|
type ClientConfig {
|
|
appVersion: String
|
|
authProviders: AuthProviders!
|
|
billing: Billing!
|
|
aiModels: [ClientAiModelConfig!]!
|
|
signInPrefilled: Boolean!
|
|
isMultiWorkspaceEnabled: Boolean!
|
|
isEmailVerificationRequired: Boolean!
|
|
defaultSubdomain: String
|
|
frontDomain: String!
|
|
analyticsEnabled: Boolean!
|
|
support: Support!
|
|
isAttachmentPreviewEnabled: Boolean!
|
|
sentry: Sentry!
|
|
captcha: Captcha!
|
|
api: ApiConfig!
|
|
canManageFeatureFlags: Boolean!
|
|
publicFeatureFlags: [PublicFeatureFlag!]!
|
|
isMicrosoftMessagingEnabled: Boolean!
|
|
isMicrosoftCalendarEnabled: Boolean!
|
|
isGoogleMessagingEnabled: Boolean!
|
|
isGoogleCalendarEnabled: Boolean!
|
|
isConfigVariablesInDbEnabled: Boolean!
|
|
isImapSmtpCaldavEnabled: Boolean!
|
|
isEmailGroupEnabled: Boolean!
|
|
allowRequestsToTwentyIcons: Boolean!
|
|
calendarBookingPageId: String
|
|
isCloudflareIntegrationEnabled: Boolean!
|
|
isClickHouseConfigured: Boolean!
|
|
isWorkspaceSchemaDDLLocked: Boolean!
|
|
maintenance: ClientConfigMaintenanceMode
|
|
}
|
|
|
|
type UsageBreakdownItem {
|
|
key: String!
|
|
label: String
|
|
creditsUsed: Float!
|
|
}
|
|
|
|
type VersionDistributionEntry {
|
|
version: String!
|
|
count: Int!
|
|
}
|
|
|
|
type ApplicationRegistrationStats {
|
|
activeInstalls: Int!
|
|
mostInstalledVersion: String
|
|
versionDistribution: [VersionDistributionEntry!]!
|
|
}
|
|
|
|
type CreateApplicationRegistration {
|
|
applicationRegistration: ApplicationRegistration!
|
|
clientSecret: String!
|
|
}
|
|
|
|
type PublicApplicationRegistration {
|
|
id: UUID!
|
|
name: String!
|
|
logoUrl: String
|
|
websiteUrl: String
|
|
oAuthScopes: [String!]!
|
|
}
|
|
|
|
type RotateClientSecret {
|
|
clientSecret: String!
|
|
}
|
|
|
|
type ApplicationRegistrationVariableDTO {
|
|
id: UUID!
|
|
key: String!
|
|
value: String
|
|
description: String!
|
|
isSecret: Boolean!
|
|
isRequired: Boolean!
|
|
isFilled: Boolean!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
type Relation {
|
|
type: RelationType!
|
|
sourceObjectMetadata: Object!
|
|
targetObjectMetadata: Object!
|
|
sourceFieldMetadata: Field!
|
|
targetFieldMetadata: Field!
|
|
}
|
|
|
|
"""Relation type"""
|
|
enum RelationType {
|
|
ONE_TO_MANY
|
|
MANY_TO_ONE
|
|
}
|
|
|
|
type IndexEdge {
|
|
"""The node containing the Index"""
|
|
node: Index!
|
|
|
|
"""Cursor for this node."""
|
|
cursor: ConnectionCursor!
|
|
}
|
|
|
|
type PageInfo {
|
|
"""true if paging forward and there are more records."""
|
|
hasNextPage: Boolean
|
|
|
|
"""true if paging backwards and there are more records."""
|
|
hasPreviousPage: Boolean
|
|
|
|
"""The cursor of the first returned record."""
|
|
startCursor: ConnectionCursor
|
|
|
|
"""The cursor of the last returned record."""
|
|
endCursor: ConnectionCursor
|
|
}
|
|
|
|
type IndexConnection {
|
|
"""Paging information"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""Array of edges."""
|
|
edges: [IndexEdge!]!
|
|
}
|
|
|
|
type IndexFieldEdge {
|
|
"""The node containing the IndexField"""
|
|
node: IndexField!
|
|
|
|
"""Cursor for this node."""
|
|
cursor: ConnectionCursor!
|
|
}
|
|
|
|
type IndexIndexFieldMetadatasConnection {
|
|
"""Paging information"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""Array of edges."""
|
|
edges: [IndexFieldEdge!]!
|
|
}
|
|
|
|
type ObjectEdge {
|
|
"""The node containing the Object"""
|
|
node: Object!
|
|
|
|
"""Cursor for this node."""
|
|
cursor: ConnectionCursor!
|
|
}
|
|
|
|
type IndexObjectMetadataConnection {
|
|
"""Paging information"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""Array of edges."""
|
|
edges: [ObjectEdge!]!
|
|
}
|
|
|
|
type ObjectRecordCount {
|
|
objectNamePlural: String!
|
|
totalCount: Int!
|
|
}
|
|
|
|
type ObjectConnection {
|
|
"""Paging information"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""Array of edges."""
|
|
edges: [ObjectEdge!]!
|
|
}
|
|
|
|
type ObjectIndexMetadatasConnection {
|
|
"""Paging information"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""Array of edges."""
|
|
edges: [IndexEdge!]!
|
|
}
|
|
|
|
type FieldEdge {
|
|
"""The node containing the Field"""
|
|
node: Field!
|
|
|
|
"""Cursor for this node."""
|
|
cursor: ConnectionCursor!
|
|
}
|
|
|
|
type ObjectFieldsConnection {
|
|
"""Paging information"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""Array of edges."""
|
|
edges: [FieldEdge!]!
|
|
}
|
|
|
|
type FieldConnection {
|
|
"""Paging information"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""Array of edges."""
|
|
edges: [FieldEdge!]!
|
|
}
|
|
|
|
type ResendEmailVerificationToken {
|
|
success: Boolean!
|
|
}
|
|
|
|
type DeleteSso {
|
|
identityProviderId: UUID!
|
|
}
|
|
|
|
type EditSso {
|
|
id: UUID!
|
|
type: IdentityProviderType!
|
|
issuer: String!
|
|
name: String!
|
|
status: SSOIdentityProviderStatus!
|
|
}
|
|
|
|
type WorkspaceNameAndId {
|
|
displayName: String
|
|
id: UUID!
|
|
}
|
|
|
|
type FindAvailableSSOIDP {
|
|
type: IdentityProviderType!
|
|
id: UUID!
|
|
issuer: String!
|
|
name: String!
|
|
status: SSOIdentityProviderStatus!
|
|
workspace: WorkspaceNameAndId!
|
|
}
|
|
|
|
type SetupSso {
|
|
id: UUID!
|
|
type: IdentityProviderType!
|
|
issuer: String!
|
|
name: String!
|
|
status: SSOIdentityProviderStatus!
|
|
}
|
|
|
|
type SSOConnection {
|
|
type: IdentityProviderType!
|
|
id: UUID!
|
|
issuer: String!
|
|
name: String!
|
|
status: SSOIdentityProviderStatus!
|
|
}
|
|
|
|
type AvailableWorkspace {
|
|
id: UUID!
|
|
displayName: String
|
|
loginToken: String
|
|
personalInviteToken: String
|
|
inviteHash: String
|
|
workspaceUrls: WorkspaceUrls!
|
|
logo: String
|
|
sso: [SSOConnection!]!
|
|
}
|
|
|
|
type AvailableWorkspaces {
|
|
availableWorkspacesForSignIn: [AvailableWorkspace!]!
|
|
availableWorkspacesForSignUp: [AvailableWorkspace!]!
|
|
}
|
|
|
|
type DeletedWorkspaceMember {
|
|
id: UUID!
|
|
name: FullName!
|
|
userEmail: String!
|
|
avatarUrl: String
|
|
userWorkspaceId: UUID
|
|
}
|
|
|
|
type BillingEntitlement {
|
|
key: BillingEntitlementKey!
|
|
value: Boolean!
|
|
}
|
|
|
|
enum BillingEntitlementKey {
|
|
SSO
|
|
CUSTOM_DOMAIN
|
|
RLS
|
|
AUDIT_LOGS
|
|
}
|
|
|
|
type DomainRecord {
|
|
validationType: String!
|
|
type: String!
|
|
status: String!
|
|
key: String!
|
|
value: String!
|
|
}
|
|
|
|
type DomainValidRecords {
|
|
id: UUID!
|
|
domain: String!
|
|
records: [DomainRecord!]!
|
|
}
|
|
|
|
type UpsertRowLevelPermissionPredicatesResult {
|
|
predicates: [RowLevelPermissionPredicate!]!
|
|
predicateGroups: [RowLevelPermissionPredicateGroup!]!
|
|
}
|
|
|
|
type LogicFunctionLogs {
|
|
"""Execution Logs"""
|
|
logs: String!
|
|
}
|
|
|
|
type DeleteTwoFactorAuthenticationMethod {
|
|
"""Boolean that confirms query was dispatched"""
|
|
success: Boolean!
|
|
}
|
|
|
|
type InitiateTwoFactorAuthenticationProvisioning {
|
|
uri: String!
|
|
}
|
|
|
|
type VerifyTwoFactorAuthenticationMethod {
|
|
success: Boolean!
|
|
}
|
|
|
|
type AuthorizeApp {
|
|
redirectUrl: String!
|
|
}
|
|
|
|
type AuthTokenPair {
|
|
accessOrWorkspaceAgnosticToken: AuthToken!
|
|
refreshToken: AuthToken!
|
|
}
|
|
|
|
type AvailableWorkspacesAndAccessTokens {
|
|
tokens: AuthTokenPair!
|
|
availableWorkspaces: AvailableWorkspaces!
|
|
}
|
|
|
|
type EmailPasswordResetLink {
|
|
"""Boolean that confirms query was dispatched"""
|
|
success: Boolean!
|
|
}
|
|
|
|
type GetAuthorizationUrlForSSO {
|
|
authorizationURL: String!
|
|
type: String!
|
|
id: UUID!
|
|
}
|
|
|
|
type InvalidatePassword {
|
|
"""Boolean that confirms query was dispatched"""
|
|
success: Boolean!
|
|
}
|
|
|
|
type WorkspaceUrlsAndId {
|
|
workspaceUrls: WorkspaceUrls!
|
|
id: UUID!
|
|
}
|
|
|
|
type SignUp {
|
|
loginToken: AuthToken!
|
|
workspace: WorkspaceUrlsAndId!
|
|
}
|
|
|
|
type TransientToken {
|
|
transientToken: AuthToken!
|
|
}
|
|
|
|
type ValidatePasswordResetToken {
|
|
id: UUID!
|
|
email: String!
|
|
hasPassword: Boolean!
|
|
}
|
|
|
|
type VerifyEmailAndGetLoginToken {
|
|
loginToken: AuthToken!
|
|
workspaceUrls: WorkspaceUrls!
|
|
}
|
|
|
|
type ApiKeyToken {
|
|
token: String!
|
|
}
|
|
|
|
type AuthTokens {
|
|
tokens: AuthTokenPair!
|
|
}
|
|
|
|
type LoginToken {
|
|
loginToken: AuthToken!
|
|
}
|
|
|
|
type CheckUserExist {
|
|
exists: Boolean!
|
|
availableWorkspacesCount: Float!
|
|
isEmailVerified: Boolean!
|
|
}
|
|
|
|
type WorkspaceInviteHashValid {
|
|
isValid: Boolean!
|
|
}
|
|
|
|
type Impersonate {
|
|
loginToken: AuthToken!
|
|
workspace: WorkspaceUrlsAndId!
|
|
}
|
|
|
|
type UsageTimeSeries {
|
|
date: String!
|
|
creditsUsed: Float!
|
|
}
|
|
|
|
type UsageUserDaily {
|
|
userWorkspaceId: String!
|
|
dailyUsage: [UsageTimeSeries!]!
|
|
}
|
|
|
|
type UsageAnalytics {
|
|
usageByUser: [UsageBreakdownItem!]!
|
|
usageByOperationType: [UsageBreakdownItem!]!
|
|
usageByModel: [UsageBreakdownItem!]!
|
|
timeSeries: [UsageTimeSeries!]!
|
|
periodStart: DateTime!
|
|
periodEnd: DateTime!
|
|
userDailyUsage: UsageUserDaily
|
|
}
|
|
|
|
type DevelopmentApplication {
|
|
id: String!
|
|
universalIdentifier: String!
|
|
}
|
|
|
|
type WorkspaceMigration {
|
|
applicationUniversalIdentifier: String!
|
|
actions: JSON!
|
|
}
|
|
|
|
type File {
|
|
id: UUID!
|
|
path: String!
|
|
size: Float!
|
|
createdAt: DateTime!
|
|
}
|
|
|
|
type MarketplaceApp {
|
|
id: String!
|
|
name: String!
|
|
description: String!
|
|
author: String!
|
|
category: String!
|
|
logo: String
|
|
sourcePackage: String
|
|
isFeatured: Boolean!
|
|
}
|
|
|
|
type MarketplaceAppDetail {
|
|
universalIdentifier: String!
|
|
id: String!
|
|
name: String!
|
|
sourceType: ApplicationRegistrationSourceType!
|
|
sourcePackage: String
|
|
latestAvailableVersion: String
|
|
isListed: Boolean!
|
|
isFeatured: Boolean!
|
|
manifest: JSON
|
|
}
|
|
|
|
type PublicDomain {
|
|
id: UUID!
|
|
domain: String!
|
|
isValidated: Boolean!
|
|
applicationId: UUID
|
|
createdAt: DateTime!
|
|
}
|
|
|
|
type VerificationRecord {
|
|
type: String!
|
|
key: String!
|
|
value: String!
|
|
priority: Float
|
|
}
|
|
|
|
type EmailingDomain {
|
|
id: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
domain: String!
|
|
driver: EmailingDomainDriver!
|
|
status: EmailingDomainStatus!
|
|
verificationRecords: [VerificationRecord!]
|
|
verifiedAt: DateTime
|
|
}
|
|
|
|
enum EmailingDomainDriver {
|
|
AWS_SES
|
|
}
|
|
|
|
enum EmailingDomainStatus {
|
|
PENDING
|
|
VERIFIED
|
|
FAILED
|
|
TEMPORARY_FAILURE
|
|
}
|
|
|
|
type AutocompleteResult {
|
|
text: String!
|
|
placeId: String!
|
|
}
|
|
|
|
type Location {
|
|
lat: Float
|
|
lng: Float
|
|
}
|
|
|
|
type PlaceDetailsResult {
|
|
street: String
|
|
state: String
|
|
postcode: String
|
|
city: String
|
|
country: String
|
|
location: Location
|
|
}
|
|
|
|
type ConnectionParametersOutput {
|
|
host: String!
|
|
port: Float!
|
|
username: String
|
|
password: String!
|
|
secure: Boolean
|
|
}
|
|
|
|
type ImapSmtpCaldavConnectionParameters {
|
|
IMAP: ConnectionParametersOutput
|
|
SMTP: ConnectionParametersOutput
|
|
CALDAV: ConnectionParametersOutput
|
|
}
|
|
|
|
type ConnectedImapSmtpCaldavAccount {
|
|
id: UUID!
|
|
handle: String!
|
|
provider: String!
|
|
userWorkspaceId: UUID!
|
|
connectionParameters: ImapSmtpCaldavConnectionParameters
|
|
}
|
|
|
|
type ImapSmtpCaldavConnectionSuccess {
|
|
success: Boolean!
|
|
connectedAccountId: String!
|
|
}
|
|
|
|
type ToolIndexEntry {
|
|
name: String!
|
|
description: String!
|
|
category: String!
|
|
objectName: String
|
|
icon: String
|
|
inputSchema: JSON
|
|
}
|
|
|
|
type AgentMessagePart {
|
|
id: UUID!
|
|
messageId: UUID!
|
|
orderIndex: Int!
|
|
type: String!
|
|
textContent: String
|
|
reasoningContent: String
|
|
toolName: String
|
|
toolCallId: String
|
|
toolInput: JSON
|
|
toolOutput: JSON
|
|
state: String
|
|
providerExecuted: Boolean
|
|
errorMessage: String
|
|
errorDetails: JSON
|
|
sourceUrlSourceId: String
|
|
sourceUrlUrl: String
|
|
sourceUrlTitle: String
|
|
sourceDocumentSourceId: String
|
|
sourceDocumentMediaType: String
|
|
sourceDocumentTitle: String
|
|
sourceDocumentFilename: String
|
|
fileMediaType: String
|
|
fileFilename: String
|
|
fileId: UUID
|
|
fileUrl: String
|
|
providerMetadata: JSON
|
|
createdAt: DateTime!
|
|
}
|
|
|
|
type ChannelSyncSuccess {
|
|
success: Boolean!
|
|
}
|
|
|
|
type BarChartSeries {
|
|
key: String!
|
|
label: String!
|
|
}
|
|
|
|
type BarChartData {
|
|
data: [JSON!]!
|
|
indexBy: String!
|
|
keys: [String!]!
|
|
series: [BarChartSeries!]!
|
|
xAxisLabel: String!
|
|
yAxisLabel: String!
|
|
showLegend: Boolean!
|
|
showDataLabels: Boolean!
|
|
layout: BarChartLayout!
|
|
groupMode: BarChartGroupMode!
|
|
hasTooManyGroups: Boolean!
|
|
formattedToRawLookup: JSON!
|
|
}
|
|
|
|
type LineChartDataPoint {
|
|
x: String!
|
|
y: Float!
|
|
}
|
|
|
|
type LineChartSeries {
|
|
id: String!
|
|
label: String!
|
|
data: [LineChartDataPoint!]!
|
|
}
|
|
|
|
type LineChartData {
|
|
series: [LineChartSeries!]!
|
|
xAxisLabel: String!
|
|
yAxisLabel: String!
|
|
showLegend: Boolean!
|
|
showDataLabels: Boolean!
|
|
hasTooManyGroups: Boolean!
|
|
formattedToRawLookup: JSON!
|
|
}
|
|
|
|
type PieChartDataItem {
|
|
id: String!
|
|
value: Float!
|
|
}
|
|
|
|
type PieChartData {
|
|
data: [PieChartDataItem!]!
|
|
showLegend: Boolean!
|
|
showDataLabels: Boolean!
|
|
showCenterMetric: Boolean!
|
|
hasTooManyGroups: Boolean!
|
|
formattedToRawLookup: JSON!
|
|
}
|
|
|
|
type DuplicatedDashboard {
|
|
id: UUID!
|
|
title: String
|
|
pageLayoutId: UUID
|
|
position: Float!
|
|
createdAt: String!
|
|
updatedAt: String!
|
|
}
|
|
|
|
type ConnectedAccountDTO {
|
|
id: UUID!
|
|
handle: String!
|
|
provider: String!
|
|
lastCredentialsRefreshedAt: DateTime
|
|
authFailedAt: DateTime
|
|
handleAliases: [String!]
|
|
scopes: [String!]
|
|
connectionParameters: ImapSmtpCaldavConnectionParameters
|
|
lastSignedInAt: DateTime
|
|
userWorkspaceId: UUID!
|
|
connectionProviderId: UUID
|
|
applicationId: UUID
|
|
name: String
|
|
visibility: String!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
type PublicConnectionParametersOutput {
|
|
host: String!
|
|
port: Float!
|
|
username: String
|
|
secure: Boolean
|
|
}
|
|
|
|
type PublicImapSmtpCaldavConnectionParameters {
|
|
IMAP: PublicConnectionParametersOutput
|
|
SMTP: PublicConnectionParametersOutput
|
|
CALDAV: PublicConnectionParametersOutput
|
|
}
|
|
|
|
type ConnectedAccountPublicDTO {
|
|
id: UUID!
|
|
handle: String!
|
|
provider: String!
|
|
lastCredentialsRefreshedAt: DateTime
|
|
authFailedAt: DateTime
|
|
handleAliases: [String!]
|
|
scopes: [String!]
|
|
lastSignedInAt: DateTime
|
|
userWorkspaceId: UUID!
|
|
connectionProviderId: UUID
|
|
applicationId: UUID
|
|
name: String
|
|
visibility: String!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
connectionParameters: PublicImapSmtpCaldavConnectionParameters
|
|
}
|
|
|
|
type SendEmailOutput {
|
|
success: Boolean!
|
|
error: String
|
|
}
|
|
|
|
type EventLogRecord {
|
|
event: String!
|
|
timestamp: DateTime!
|
|
userId: String
|
|
properties: JSON
|
|
recordId: String
|
|
objectMetadataId: String
|
|
isCustom: Boolean
|
|
}
|
|
|
|
type EventLogPageInfo {
|
|
endCursor: String
|
|
hasNextPage: Boolean!
|
|
}
|
|
|
|
type EventLogQueryResult {
|
|
records: [EventLogRecord!]!
|
|
totalCount: Int!
|
|
pageInfo: EventLogPageInfo!
|
|
}
|
|
|
|
type Skill {
|
|
id: UUID!
|
|
name: String!
|
|
label: String!
|
|
icon: String
|
|
description: String
|
|
content: String!
|
|
isCustom: Boolean!
|
|
isActive: Boolean!
|
|
applicationId: UUID
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
type AgentMessage {
|
|
id: UUID!
|
|
threadId: UUID!
|
|
turnId: UUID
|
|
agentId: UUID
|
|
role: String!
|
|
status: String!
|
|
parts: [AgentMessagePart!]!
|
|
processedAt: DateTime
|
|
createdAt: DateTime!
|
|
}
|
|
|
|
type AgentChatThread {
|
|
id: ID!
|
|
title: String
|
|
totalInputTokens: Int!
|
|
totalOutputTokens: Int!
|
|
contextWindowTokens: Int
|
|
conversationSize: Int!
|
|
totalInputCredits: Float!
|
|
totalOutputCredits: Float!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
lastMessageAt: DateTime
|
|
}
|
|
|
|
type AiSystemPromptSection {
|
|
title: String!
|
|
content: String!
|
|
estimatedTokenCount: Int!
|
|
}
|
|
|
|
type AiSystemPromptPreview {
|
|
sections: [AiSystemPromptSection!]!
|
|
estimatedTokenCount: Int!
|
|
}
|
|
|
|
type ChatStreamCatchupChunks {
|
|
chunks: [JSON!]!
|
|
maxSeq: Int!
|
|
}
|
|
|
|
type SendChatMessageResult {
|
|
messageId: String!
|
|
queued: Boolean!
|
|
streamId: String
|
|
}
|
|
|
|
type AgentChatEvent {
|
|
threadId: String!
|
|
event: JSON!
|
|
}
|
|
|
|
type AgentTurnEvaluation {
|
|
id: UUID!
|
|
turnId: UUID!
|
|
score: Int!
|
|
comment: String
|
|
createdAt: DateTime!
|
|
}
|
|
|
|
type AgentTurn {
|
|
id: UUID!
|
|
threadId: UUID!
|
|
agentId: UUID
|
|
evaluations: [AgentTurnEvaluation!]!
|
|
messages: [AgentMessage!]!
|
|
createdAt: DateTime!
|
|
}
|
|
|
|
type CalendarChannel {
|
|
id: UUID!
|
|
handle: String!
|
|
syncStatus: CalendarChannelSyncStatus!
|
|
syncStage: CalendarChannelSyncStage!
|
|
visibility: CalendarChannelVisibility!
|
|
isContactAutoCreationEnabled: Boolean!
|
|
contactAutoCreationPolicy: CalendarChannelContactAutoCreationPolicy!
|
|
isSyncEnabled: Boolean!
|
|
syncedAt: DateTime
|
|
syncStageStartedAt: DateTime
|
|
throttleFailureCount: Float!
|
|
connectedAccountId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
enum CalendarChannelSyncStatus {
|
|
NOT_SYNCED
|
|
ONGOING
|
|
ACTIVE
|
|
FAILED_INSUFFICIENT_PERMISSIONS
|
|
FAILED_UNKNOWN
|
|
}
|
|
|
|
enum CalendarChannelSyncStage {
|
|
PENDING_CONFIGURATION
|
|
CALENDAR_EVENT_LIST_FETCH_PENDING
|
|
CALENDAR_EVENT_LIST_FETCH_SCHEDULED
|
|
CALENDAR_EVENT_LIST_FETCH_ONGOING
|
|
CALENDAR_EVENTS_IMPORT_PENDING
|
|
CALENDAR_EVENTS_IMPORT_SCHEDULED
|
|
CALENDAR_EVENTS_IMPORT_ONGOING
|
|
FAILED
|
|
}
|
|
|
|
enum CalendarChannelVisibility {
|
|
METADATA
|
|
SHARE_EVERYTHING
|
|
}
|
|
|
|
enum CalendarChannelContactAutoCreationPolicy {
|
|
AS_PARTICIPANT_AND_ORGANIZER
|
|
AS_PARTICIPANT
|
|
AS_ORGANIZER
|
|
NONE
|
|
}
|
|
|
|
type MessageChannel {
|
|
id: UUID!
|
|
visibility: MessageChannelVisibility!
|
|
handle: String!
|
|
type: MessageChannelType!
|
|
isContactAutoCreationEnabled: Boolean!
|
|
contactAutoCreationPolicy: MessageChannelContactAutoCreationPolicy!
|
|
messageFolderImportPolicy: MessageFolderImportPolicy!
|
|
excludeNonProfessionalEmails: Boolean!
|
|
excludeGroupEmails: Boolean!
|
|
pendingGroupEmailsAction: MessageChannelPendingGroupEmailsAction!
|
|
isSyncEnabled: Boolean!
|
|
syncedAt: DateTime
|
|
syncStatus: MessageChannelSyncStatus!
|
|
syncStage: MessageChannelSyncStage!
|
|
syncStageStartedAt: DateTime
|
|
throttleFailureCount: Float!
|
|
throttleRetryAfter: DateTime
|
|
connectedAccountId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
connectedAccount: ConnectedAccountPublicDTO
|
|
}
|
|
|
|
enum MessageChannelVisibility {
|
|
METADATA
|
|
SUBJECT
|
|
SHARE_EVERYTHING
|
|
}
|
|
|
|
enum MessageChannelType {
|
|
EMAIL
|
|
SMS
|
|
EMAIL_GROUP
|
|
}
|
|
|
|
enum MessageChannelContactAutoCreationPolicy {
|
|
SENT_AND_RECEIVED
|
|
SENT
|
|
NONE
|
|
}
|
|
|
|
enum MessageFolderImportPolicy {
|
|
ALL_FOLDERS
|
|
SELECTED_FOLDERS
|
|
}
|
|
|
|
enum MessageChannelPendingGroupEmailsAction {
|
|
GROUP_EMAILS_DELETION
|
|
GROUP_EMAILS_IMPORT
|
|
NONE
|
|
}
|
|
|
|
enum MessageChannelSyncStatus {
|
|
NOT_SYNCED
|
|
ONGOING
|
|
ACTIVE
|
|
FAILED_INSUFFICIENT_PERMISSIONS
|
|
FAILED_UNKNOWN
|
|
}
|
|
|
|
enum MessageChannelSyncStage {
|
|
PENDING_CONFIGURATION
|
|
MESSAGE_LIST_FETCH_PENDING
|
|
MESSAGE_LIST_FETCH_SCHEDULED
|
|
MESSAGE_LIST_FETCH_ONGOING
|
|
MESSAGES_IMPORT_PENDING
|
|
MESSAGES_IMPORT_SCHEDULED
|
|
MESSAGES_IMPORT_ONGOING
|
|
FAILED
|
|
}
|
|
|
|
type CreateEmailGroupChannelOutput {
|
|
messageChannel: MessageChannel!
|
|
forwardingAddress: String!
|
|
}
|
|
|
|
type MessageFolder {
|
|
id: UUID!
|
|
name: String
|
|
isSentFolder: Boolean!
|
|
isSynced: Boolean!
|
|
parentFolderId: String
|
|
externalId: String
|
|
pendingSyncAction: MessageFolderPendingSyncAction!
|
|
messageChannelId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
}
|
|
|
|
enum MessageFolderPendingSyncAction {
|
|
FOLDER_DELETION
|
|
NONE
|
|
}
|
|
|
|
type CollectionHash {
|
|
collectionName: AllMetadataName!
|
|
hash: String!
|
|
}
|
|
|
|
enum AllMetadataName {
|
|
fieldMetadata
|
|
objectMetadata
|
|
view
|
|
viewField
|
|
viewFieldGroup
|
|
viewGroup
|
|
viewSort
|
|
rowLevelPermissionPredicate
|
|
rowLevelPermissionPredicateGroup
|
|
viewFilterGroup
|
|
index
|
|
logicFunction
|
|
viewFilter
|
|
role
|
|
roleTarget
|
|
agent
|
|
skill
|
|
pageLayout
|
|
pageLayoutWidget
|
|
pageLayoutTab
|
|
commandMenuItem
|
|
navigationMenuItem
|
|
permissionFlag
|
|
objectPermission
|
|
fieldPermission
|
|
frontComponent
|
|
webhook
|
|
applicationVariable
|
|
connectionProvider
|
|
}
|
|
|
|
type MinimalObjectMetadata {
|
|
id: UUID!
|
|
nameSingular: String!
|
|
namePlural: String!
|
|
labelSingular: String!
|
|
labelPlural: String!
|
|
icon: String
|
|
color: String
|
|
isCustom: Boolean!
|
|
isActive: Boolean!
|
|
isSystem: Boolean!
|
|
isRemote: Boolean!
|
|
}
|
|
|
|
type MinimalView {
|
|
id: UUID!
|
|
type: ViewType!
|
|
key: ViewKey
|
|
objectMetadataId: UUID!
|
|
}
|
|
|
|
type MinimalMetadata {
|
|
objectMetadataItems: [MinimalObjectMetadata!]!
|
|
views: [MinimalView!]!
|
|
collectionHashes: [CollectionHash!]!
|
|
}
|
|
|
|
type Webhook {
|
|
id: UUID!
|
|
targetUrl: String!
|
|
operations: [String!]!
|
|
description: String
|
|
secret: String!
|
|
applicationId: UUID!
|
|
createdAt: DateTime!
|
|
updatedAt: DateTime!
|
|
deletedAt: DateTime
|
|
}
|
|
|
|
type Query {
|
|
navigationMenuItems: [NavigationMenuItem!]!
|
|
navigationMenuItem(id: UUID!): NavigationMenuItem
|
|
getViewFilterGroups(viewId: String): [ViewFilterGroup!]!
|
|
getViewFilterGroup(id: String!): ViewFilterGroup
|
|
getViewFilters(viewId: String): [ViewFilter!]!
|
|
getViewFilter(id: String!): ViewFilter
|
|
getViews(objectMetadataId: String, viewTypes: [ViewType!]): [View!]!
|
|
getView(id: String!): View
|
|
getViewSorts(viewId: String): [ViewSort!]!
|
|
getViewSort(id: String!): ViewSort
|
|
getViewFields(viewId: String!): [ViewField!]!
|
|
getViewField(id: String!): ViewField
|
|
getViewFieldGroups(viewId: String!): [ViewFieldGroup!]!
|
|
getViewFieldGroup(id: String!): ViewFieldGroup
|
|
apiKeys: [ApiKey!]!
|
|
apiKey(input: GetApiKeyInput!): ApiKey
|
|
enterprisePortalSession(returnUrlPath: String): String
|
|
enterpriseCheckoutSession(billingInterval: String): String
|
|
enterpriseSubscriptionStatus: EnterpriseSubscriptionStatusDTO
|
|
billingPortalSession(returnUrlPath: String): BillingSession!
|
|
listPlans: [BillingPlan!]!
|
|
getResourceCreditUsage: [BillingResourceCreditUsage!]!
|
|
findWorkspaceInvitations: [WorkspaceInvitation!]!
|
|
getApprovedAccessDomains: [ApprovedAccessDomain!]!
|
|
getPageLayoutTabs(pageLayoutId: String!): [PageLayoutTab!]!
|
|
getPageLayoutTab(id: String!): PageLayoutTab!
|
|
getPageLayouts(objectMetadataId: String, pageLayoutType: PageLayoutType): [PageLayout!]!
|
|
getPageLayout(id: String!): PageLayout
|
|
applicationConnectionProviders(applicationId: UUID!): [ApplicationConnectionProvider!]!
|
|
getPageLayoutWidgets(pageLayoutTabId: String!): [PageLayoutWidget!]!
|
|
getPageLayoutWidget(id: String!): PageLayoutWidget!
|
|
findOneLogicFunction(input: LogicFunctionIdInput!): LogicFunction!
|
|
findManyLogicFunctions: [LogicFunction!]!
|
|
getAvailablePackages(input: LogicFunctionIdInput!): JSON!
|
|
getLogicFunctionSourceCode(input: LogicFunctionIdInput!): String
|
|
commandMenuItems: [CommandMenuItem!]!
|
|
commandMenuItem(id: UUID!): CommandMenuItem
|
|
frontComponents: [FrontComponent!]!
|
|
frontComponent(id: UUID!): FrontComponent
|
|
objectRecordCounts: [ObjectRecordCount!]!
|
|
object(
|
|
"""The id of the record to find."""
|
|
id: UUID!
|
|
): Object!
|
|
objects(
|
|
"""Limit or page results."""
|
|
paging: CursorPaging! = {first: 10}
|
|
|
|
"""Specify to filter the records returned."""
|
|
filter: ObjectFilter! = {}
|
|
): ObjectConnection!
|
|
index(
|
|
"""The id of the record to find."""
|
|
id: UUID!
|
|
): Index!
|
|
indexMetadatas(
|
|
"""Limit or page results."""
|
|
paging: CursorPaging! = {first: 10}
|
|
|
|
"""Specify to filter the records returned."""
|
|
filter: IndexFilter! = {}
|
|
): IndexConnection!
|
|
findManyAgents: [Agent!]!
|
|
findOneAgent(input: AgentIdInput!): Agent!
|
|
getRoles: [Role!]!
|
|
getToolIndex: [ToolIndexEntry!]!
|
|
getToolInputSchema(toolName: String!): JSON
|
|
field(
|
|
"""The id of the record to find."""
|
|
id: UUID!
|
|
): Field!
|
|
fields(
|
|
"""Limit or page results."""
|
|
paging: CursorPaging! = {first: 10}
|
|
|
|
"""Specify to filter the records returned."""
|
|
filter: FieldFilter! = {}
|
|
): FieldConnection!
|
|
getViewGroups(viewId: String): [ViewGroup!]!
|
|
getViewGroup(id: String!): ViewGroup
|
|
myMessageFolders(messageChannelId: UUID): [MessageFolder!]!
|
|
myMessageChannels(connectedAccountId: UUID): [MessageChannel!]!
|
|
myConnectedAccounts: [ConnectedAccountDTO!]!
|
|
connectedAccountById(id: UUID!): ConnectedAccountPublicDTO
|
|
connectedAccounts: [ConnectedAccountDTO!]!
|
|
myCalendarChannels(connectedAccountId: UUID): [CalendarChannel!]!
|
|
webhooks: [Webhook!]!
|
|
webhook(id: UUID!): Webhook
|
|
minimalMetadata: MinimalMetadata!
|
|
chatThreads: [AgentChatThread!]!
|
|
chatThread(id: UUID!): AgentChatThread!
|
|
chatMessages(threadId: UUID!): [AgentMessage!]!
|
|
chatStreamCatchupChunks(threadId: UUID!): ChatStreamCatchupChunks!
|
|
getAiSystemPromptPreview: AiSystemPromptPreview!
|
|
skills: [Skill!]!
|
|
skill(id: UUID!): Skill
|
|
agentTurns(agentId: UUID!): [AgentTurn!]!
|
|
checkUserExists(email: String!, captchaToken: String): CheckUserExist!
|
|
checkWorkspaceInviteHashIsValid(inviteHash: String!): WorkspaceInviteHashValid!
|
|
findWorkspaceFromInviteHash(inviteHash: String!): Workspace!
|
|
validatePasswordResetToken(passwordResetToken: String!): ValidatePasswordResetToken!
|
|
findApplicationRegistrationByClientId(clientId: String!): PublicApplicationRegistration
|
|
findApplicationRegistrationByUniversalIdentifier(universalIdentifier: String!): ApplicationRegistration
|
|
findManyApplicationRegistrations: [ApplicationRegistration!]!
|
|
findOneApplicationRegistration(id: String!): ApplicationRegistration!
|
|
findApplicationRegistrationStats(id: String!): ApplicationRegistrationStats!
|
|
findApplicationRegistrationVariables(applicationRegistrationId: String!): [ApplicationRegistrationVariableDTO!]!
|
|
applicationRegistrationTarballUrl(id: String!): String
|
|
currentUser: User!
|
|
currentWorkspace: Workspace!
|
|
getPublicWorkspaceDataByDomain(origin: String): PublicWorkspaceData!
|
|
getPublicWorkspaceDataById(id: UUID!): PublicWorkspaceDataSummary!
|
|
findManyApplications: [Application!]!
|
|
findOneApplication(id: UUID, universalIdentifier: UUID): Application!
|
|
getSSOIdentityProviders: [FindAvailableSSOIDP!]!
|
|
eventLogs(input: EventLogQueryInput!): EventLogQueryResult!
|
|
pieChartData(input: PieChartDataInput!): PieChartData!
|
|
lineChartData(input: LineChartDataInput!): LineChartData!
|
|
barChartData(input: BarChartDataInput!): BarChartData!
|
|
getConnectedImapSmtpCaldavAccount(id: UUID!): ConnectedImapSmtpCaldavAccount!
|
|
getAutoCompleteAddress(address: String!, token: String!, country: String, isFieldCity: Boolean): [AutocompleteResult!]!
|
|
getAddressDetails(placeId: String!, token: String!): PlaceDetailsResult!
|
|
getUsageAnalytics(input: UsageAnalyticsInput): UsageAnalytics!
|
|
findManyPublicDomains: [PublicDomain!]!
|
|
getEmailingDomains: [EmailingDomain!]!
|
|
findManyMarketplaceApps: [MarketplaceApp!]!
|
|
findMarketplaceAppDetail(universalIdentifier: String!): MarketplaceAppDetail!
|
|
}
|
|
|
|
input GetApiKeyInput {
|
|
id: UUID!
|
|
}
|
|
|
|
input LogicFunctionIdInput {
|
|
"""The id of the function."""
|
|
id: ID!
|
|
}
|
|
|
|
input AgentIdInput {
|
|
"""The id of the agent."""
|
|
id: UUID!
|
|
}
|
|
|
|
input EventLogQueryInput {
|
|
table: EventLogTable!
|
|
filters: EventLogFiltersInput
|
|
first: Int = 100
|
|
after: String
|
|
}
|
|
|
|
enum EventLogTable {
|
|
WORKSPACE_EVENT
|
|
PAGEVIEW
|
|
OBJECT_EVENT
|
|
USAGE_EVENT
|
|
APPLICATION_LOG
|
|
}
|
|
|
|
input EventLogFiltersInput {
|
|
eventType: String
|
|
userWorkspaceId: String
|
|
dateRange: EventLogDateRangeInput
|
|
recordId: String
|
|
objectMetadataId: String
|
|
}
|
|
|
|
input EventLogDateRangeInput {
|
|
start: DateTime
|
|
end: DateTime
|
|
}
|
|
|
|
input PieChartDataInput {
|
|
objectMetadataId: UUID!
|
|
configuration: JSON!
|
|
}
|
|
|
|
input LineChartDataInput {
|
|
objectMetadataId: UUID!
|
|
configuration: JSON!
|
|
}
|
|
|
|
input BarChartDataInput {
|
|
objectMetadataId: UUID!
|
|
configuration: JSON!
|
|
}
|
|
|
|
input UsageAnalyticsInput {
|
|
periodStart: DateTime
|
|
periodEnd: DateTime
|
|
userWorkspaceId: String
|
|
operationTypes: [UsageOperationType!]
|
|
}
|
|
|
|
enum UsageOperationType {
|
|
AI_CHAT_TOKEN
|
|
AI_WORKFLOW_TOKEN
|
|
WORKFLOW_EXECUTION
|
|
CODE_EXECUTION
|
|
WEB_SEARCH
|
|
}
|
|
|
|
type Mutation {
|
|
addQueryToEventStream(input: AddQuerySubscriptionInput!): Boolean!
|
|
removeQueryFromEventStream(input: RemoveQueryFromEventStreamInput!): Boolean!
|
|
createManyNavigationMenuItems(inputs: [CreateNavigationMenuItemInput!]!): [NavigationMenuItem!]!
|
|
createNavigationMenuItem(input: CreateNavigationMenuItemInput!): NavigationMenuItem!
|
|
updateManyNavigationMenuItems(inputs: [UpdateOneNavigationMenuItemInput!]!): [NavigationMenuItem!]!
|
|
updateNavigationMenuItem(input: UpdateOneNavigationMenuItemInput!): NavigationMenuItem!
|
|
deleteManyNavigationMenuItems(ids: [UUID!]!): [NavigationMenuItem!]!
|
|
deleteNavigationMenuItem(id: UUID!): NavigationMenuItem!
|
|
uploadEmailAttachmentFile(file: Upload!): FileWithSignedUrl!
|
|
uploadAiChatFile(file: Upload!): FileWithSignedUrl!
|
|
uploadWorkflowFile(file: Upload!): FileWithSignedUrl!
|
|
uploadWorkspaceLogo(file: Upload!): FileWithSignedUrl!
|
|
uploadWorkspaceMemberProfilePicture(file: Upload!): FileWithSignedUrl!
|
|
uploadFilesFieldFile(file: Upload!, fieldMetadataId: String!): FileWithSignedUrl!
|
|
uploadFilesFieldFileByUniversalIdentifier(file: Upload!, fieldMetadataUniversalIdentifier: String!): FileWithSignedUrl!
|
|
createViewFilterGroup(input: CreateViewFilterGroupInput!): ViewFilterGroup!
|
|
updateViewFilterGroup(id: String!, input: UpdateViewFilterGroupInput!): ViewFilterGroup!
|
|
deleteViewFilterGroup(id: String!): Boolean!
|
|
destroyViewFilterGroup(id: String!): Boolean!
|
|
createViewFilter(input: CreateViewFilterInput!): ViewFilter!
|
|
updateViewFilter(input: UpdateViewFilterInput!): ViewFilter!
|
|
deleteViewFilter(input: DeleteViewFilterInput!): ViewFilter!
|
|
destroyViewFilter(input: DestroyViewFilterInput!): ViewFilter!
|
|
createView(input: CreateViewInput!): View!
|
|
updateView(id: String!, input: UpdateViewInput!): View!
|
|
deleteView(id: String!): Boolean!
|
|
destroyView(id: String!): Boolean!
|
|
upsertViewWidget(input: UpsertViewWidgetInput!): View!
|
|
createViewSort(input: CreateViewSortInput!): ViewSort!
|
|
updateViewSort(input: UpdateViewSortInput!): ViewSort!
|
|
deleteViewSort(input: DeleteViewSortInput!): Boolean!
|
|
destroyViewSort(input: DestroyViewSortInput!): Boolean!
|
|
updateViewField(input: UpdateViewFieldInput!): ViewField!
|
|
createViewField(input: CreateViewFieldInput!): ViewField!
|
|
createManyViewFields(inputs: [CreateViewFieldInput!]!): [ViewField!]!
|
|
deleteViewField(input: DeleteViewFieldInput!): ViewField!
|
|
destroyViewField(input: DestroyViewFieldInput!): ViewField!
|
|
updateViewFieldGroup(input: UpdateViewFieldGroupInput!): ViewFieldGroup!
|
|
createViewFieldGroup(input: CreateViewFieldGroupInput!): ViewFieldGroup!
|
|
createManyViewFieldGroups(inputs: [CreateViewFieldGroupInput!]!): [ViewFieldGroup!]!
|
|
deleteViewFieldGroup(input: DeleteViewFieldGroupInput!): ViewFieldGroup!
|
|
destroyViewFieldGroup(input: DestroyViewFieldGroupInput!): ViewFieldGroup!
|
|
upsertFieldsWidget(input: UpsertFieldsWidgetInput!): View!
|
|
createApiKey(input: CreateApiKeyInput!): ApiKey!
|
|
updateApiKey(input: UpdateApiKeyInput!): ApiKey
|
|
revokeApiKey(input: RevokeApiKeyInput!): ApiKey
|
|
assignRoleToApiKey(apiKeyId: UUID!, roleId: UUID!): Boolean!
|
|
createObjectEvent(event: String!, recordId: UUID!, objectMetadataId: UUID!, properties: JSON): Analytics!
|
|
trackAnalytics(type: AnalyticsType!, name: String, event: String, properties: JSON): Analytics!
|
|
refreshEnterpriseValidityToken: Boolean!
|
|
setEnterpriseKey(enterpriseKey: String!): EnterpriseLicenseInfoDTO!
|
|
skipSyncEmailOnboardingStep: OnboardingStepSuccess!
|
|
skipBookOnboardingStep: OnboardingStepSuccess!
|
|
checkoutSession(recurringInterval: SubscriptionInterval!, plan: BillingPlanKey! = PRO, requirePaymentMethod: Boolean! = true, successUrlPath: String): BillingSession!
|
|
switchSubscriptionInterval: BillingUpdate!
|
|
switchBillingPlan: BillingUpdate!
|
|
cancelSwitchBillingPlan: BillingUpdate!
|
|
cancelSwitchBillingInterval: BillingUpdate!
|
|
setResourceCreditSubscriptionPrice(priceId: String!): BillingUpdate!
|
|
endSubscriptionTrialPeriod: BillingEndTrialPeriod!
|
|
cancelSwitchResourceCreditPrice: BillingUpdate!
|
|
deleteWorkspaceInvitation(appTokenId: String!): String!
|
|
resendWorkspaceInvitation(appTokenId: String!): SendInvitations!
|
|
sendInvitations(emails: [String!]!, roleId: UUID): SendInvitations!
|
|
createApprovedAccessDomain(input: CreateApprovedAccessDomainInput!): ApprovedAccessDomain!
|
|
deleteApprovedAccessDomain(input: DeleteApprovedAccessDomainInput!): Boolean!
|
|
validateApprovedAccessDomain(input: ValidateApprovedAccessDomainInput!): ApprovedAccessDomain!
|
|
createPageLayoutTab(input: CreatePageLayoutTabInput!): PageLayoutTab!
|
|
updatePageLayoutTab(id: String!, input: UpdatePageLayoutTabInput!): PageLayoutTab!
|
|
destroyPageLayoutTab(id: String!): Boolean!
|
|
createPageLayout(input: CreatePageLayoutInput!): PageLayout!
|
|
updatePageLayout(id: String!, input: UpdatePageLayoutInput!): PageLayout!
|
|
destroyPageLayout(id: String!): Boolean!
|
|
updatePageLayoutWithTabsAndWidgets(id: String!, input: UpdatePageLayoutWithTabsInput!): PageLayout!
|
|
resetPageLayoutToDefault(id: String!): PageLayout!
|
|
resetPageLayoutWidgetToDefault(id: String!): PageLayoutWidget!
|
|
resetPageLayoutTabToDefault(id: String!): PageLayoutTab!
|
|
updateOneApplicationVariable(key: String!, value: String!, applicationId: UUID!): Boolean!
|
|
createPageLayoutWidget(input: CreatePageLayoutWidgetInput!): PageLayoutWidget!
|
|
updatePageLayoutWidget(id: String!, input: UpdatePageLayoutWidgetInput!): PageLayoutWidget!
|
|
destroyPageLayoutWidget(id: String!): Boolean!
|
|
deleteOneLogicFunction(input: LogicFunctionIdInput!): LogicFunction!
|
|
createOneLogicFunction(input: CreateLogicFunctionFromSourceInput!): LogicFunction!
|
|
executeOneLogicFunction(input: ExecuteOneLogicFunctionInput!): LogicFunctionExecutionResult!
|
|
updateOneLogicFunction(input: UpdateLogicFunctionFromSourceInput!): Boolean!
|
|
createCommandMenuItem(input: CreateCommandMenuItemInput!): CommandMenuItem!
|
|
updateCommandMenuItem(input: UpdateCommandMenuItemInput!): CommandMenuItem!
|
|
deleteCommandMenuItem(id: UUID!): CommandMenuItem!
|
|
createFrontComponent(input: CreateFrontComponentInput!): FrontComponent!
|
|
updateFrontComponent(input: UpdateFrontComponentInput!): FrontComponent!
|
|
deleteFrontComponent(id: UUID!): FrontComponent!
|
|
createOneObject(input: CreateOneObjectInput!): Object!
|
|
deleteOneObject(input: DeleteOneObjectInput!): Object!
|
|
updateOneObject(input: UpdateOneObjectInput!): Object!
|
|
createOneAgent(input: CreateAgentInput!): Agent!
|
|
updateOneAgent(input: UpdateAgentInput!): Agent!
|
|
deleteOneAgent(input: AgentIdInput!): Agent!
|
|
updateWorkspaceMemberRole(workspaceMemberId: UUID!, roleId: UUID!): WorkspaceMember!
|
|
createOneRole(createRoleInput: CreateRoleInput!): Role!
|
|
updateOneRole(updateRoleInput: UpdateRoleInput!): Role!
|
|
deleteOneRole(roleId: UUID!): String!
|
|
upsertObjectPermissions(upsertObjectPermissionsInput: UpsertObjectPermissionsInput!): [ObjectPermission!]!
|
|
upsertPermissionFlags(upsertPermissionFlagsInput: UpsertPermissionFlagsInput!): [PermissionFlag!]!
|
|
upsertFieldPermissions(upsertFieldPermissionsInput: UpsertFieldPermissionsInput!): [FieldPermission!]!
|
|
upsertRowLevelPermissionPredicates(input: UpsertRowLevelPermissionPredicatesInput!): UpsertRowLevelPermissionPredicatesResult!
|
|
assignRoleToAgent(agentId: UUID!, roleId: UUID!): Boolean!
|
|
removeRoleFromAgent(agentId: UUID!): Boolean!
|
|
createOneField(input: CreateOneFieldMetadataInput!): Field!
|
|
updateOneField(input: UpdateOneFieldMetadataInput!): Field!
|
|
deleteOneField(input: DeleteOneFieldInput!): Field!
|
|
createViewGroup(input: CreateViewGroupInput!): ViewGroup!
|
|
createManyViewGroups(inputs: [CreateViewGroupInput!]!): [ViewGroup!]!
|
|
updateViewGroup(input: UpdateViewGroupInput!): ViewGroup!
|
|
updateManyViewGroups(inputs: [UpdateViewGroupInput!]!): [ViewGroup!]!
|
|
deleteViewGroup(input: DeleteViewGroupInput!): ViewGroup!
|
|
destroyViewGroup(input: DestroyViewGroupInput!): ViewGroup!
|
|
updateMessageFolder(input: UpdateMessageFolderInput!): MessageFolder!
|
|
updateMessageFolders(input: UpdateMessageFoldersInput!): [MessageFolder!]!
|
|
updateMessageChannel(input: UpdateMessageChannelInput!): MessageChannel!
|
|
createEmailGroupChannel(input: CreateEmailGroupChannelInput!): CreateEmailGroupChannelOutput!
|
|
deleteEmailGroupChannel(id: UUID!): MessageChannel!
|
|
deleteConnectedAccount(id: UUID!): ConnectedAccountDTO!
|
|
updateCalendarChannel(input: UpdateCalendarChannelInput!): CalendarChannel!
|
|
createWebhook(input: CreateWebhookInput!): Webhook!
|
|
updateWebhook(input: UpdateWebhookInput!): Webhook!
|
|
deleteWebhook(id: UUID!): Webhook!
|
|
createChatThread: AgentChatThread!
|
|
sendChatMessage(threadId: UUID!, text: String!, messageId: UUID!, browsingContext: JSON, modelId: String, fileIds: [UUID!]): SendChatMessageResult!
|
|
stopAgentChatStream(threadId: UUID!): Boolean!
|
|
renameChatThread(id: UUID!, title: String!): AgentChatThread!
|
|
archiveChatThread(id: UUID!): AgentChatThread!
|
|
unarchiveChatThread(id: UUID!): AgentChatThread!
|
|
deleteChatThread(id: UUID!): Boolean!
|
|
deleteQueuedChatMessage(messageId: UUID!): Boolean!
|
|
createSkill(input: CreateSkillInput!): Skill!
|
|
updateSkill(input: UpdateSkillInput!): Skill!
|
|
deleteSkill(id: UUID!): Skill!
|
|
activateSkill(id: UUID!): Skill!
|
|
deactivateSkill(id: UUID!): Skill!
|
|
evaluateAgentTurn(turnId: UUID!): AgentTurnEvaluation!
|
|
runEvaluationInput(agentId: UUID!, input: String!): AgentTurn!
|
|
getAuthorizationUrlForSSO(input: GetAuthorizationUrlForSSOInput!): GetAuthorizationUrlForSSO!
|
|
getLoginTokenFromCredentials(email: String!, password: String!, captchaToken: String, locale: String, verifyEmailRedirectPath: String, origin: String!): LoginToken!
|
|
signIn(email: String!, password: String!, captchaToken: String, locale: String, verifyEmailRedirectPath: String): AvailableWorkspacesAndAccessTokens!
|
|
verifyEmailAndGetLoginToken(emailVerificationToken: String!, email: String!, captchaToken: String, origin: String!): VerifyEmailAndGetLoginToken!
|
|
verifyEmailAndGetWorkspaceAgnosticToken(emailVerificationToken: String!, email: String!, captchaToken: String): AvailableWorkspacesAndAccessTokens!
|
|
getAuthTokensFromOTP(otp: String!, loginToken: String!, captchaToken: String, origin: String!): AuthTokens!
|
|
signUp(email: String!, password: String!, captchaToken: String, locale: String, verifyEmailRedirectPath: String): AvailableWorkspacesAndAccessTokens!
|
|
signUpInWorkspace(email: String!, password: String!, workspaceId: UUID, workspaceInviteHash: String, workspacePersonalInviteToken: String, captchaToken: String, locale: String, verifyEmailRedirectPath: String): SignUp!
|
|
signUpInNewWorkspace: SignUp!
|
|
generateTransientToken: TransientToken!
|
|
getAuthTokensFromLoginToken(loginToken: String!, origin: String!): AuthTokens!
|
|
authorizeApp(clientId: String!, codeChallenge: String, redirectUrl: String!, state: String, scope: String): AuthorizeApp!
|
|
renewToken(appToken: String!): AuthTokens!
|
|
generateApiKeyToken(apiKeyId: UUID!, expiresAt: String!): ApiKeyToken!
|
|
emailPasswordResetLink(email: String!, workspaceId: UUID): EmailPasswordResetLink!
|
|
updatePasswordViaResetToken(passwordResetToken: String!, newPassword: String!): InvalidatePassword!
|
|
createApplicationRegistration(input: CreateApplicationRegistrationInput!): CreateApplicationRegistration!
|
|
updateApplicationRegistration(input: UpdateApplicationRegistrationInput!): ApplicationRegistration!
|
|
deleteApplicationRegistration(id: String!): Boolean!
|
|
rotateApplicationRegistrationClientSecret(id: String!): RotateClientSecret!
|
|
createApplicationRegistrationVariable(input: CreateApplicationRegistrationVariableInput!): ApplicationRegistrationVariable!
|
|
updateApplicationRegistrationVariable(input: UpdateApplicationRegistrationVariableInput!): ApplicationRegistrationVariable!
|
|
deleteApplicationRegistrationVariable(id: String!): Boolean!
|
|
uploadAppTarball(file: Upload!, universalIdentifier: String): ApplicationRegistration!
|
|
transferApplicationRegistrationOwnership(applicationRegistrationId: String!, targetWorkspaceSubdomain: String!): ApplicationRegistration!
|
|
initiateOTPProvisioning(loginToken: String!, origin: String!): InitiateTwoFactorAuthenticationProvisioning!
|
|
initiateOTPProvisioningForAuthenticatedUser: InitiateTwoFactorAuthenticationProvisioning!
|
|
deleteTwoFactorAuthenticationMethod(twoFactorAuthenticationMethodId: UUID!): DeleteTwoFactorAuthenticationMethod!
|
|
verifyTwoFactorAuthenticationMethodForAuthenticatedUser(otp: String!): VerifyTwoFactorAuthenticationMethod!
|
|
deleteUser: User!
|
|
deleteUserFromWorkspace(workspaceMemberIdToDelete: String!): UserWorkspace!
|
|
updateWorkspaceMemberSettings(input: UpdateWorkspaceMemberSettingsInput!): Boolean!
|
|
updateUserEmail(newEmail: String!, verifyEmailRedirectPath: String): Boolean!
|
|
resendEmailVerificationToken(email: String!, origin: String!): ResendEmailVerificationToken!
|
|
activateWorkspace(data: ActivateWorkspaceInput!): Workspace!
|
|
updateWorkspace(data: UpdateWorkspaceInput!): Workspace!
|
|
deleteCurrentWorkspace: Workspace!
|
|
checkCustomDomainValidRecords: DomainValidRecords
|
|
installApplication(appRegistrationId: String!, version: String): Boolean!
|
|
runWorkspaceMigration(workspaceMigration: WorkspaceMigrationInput!): Boolean!
|
|
uninstallApplication(universalIdentifier: String!): Boolean!
|
|
createOIDCIdentityProvider(input: SetupOIDCSsoInput!): SetupSso!
|
|
createSAMLIdentityProvider(input: SetupSAMLSsoInput!): SetupSso!
|
|
deleteSSOIdentityProvider(input: DeleteSsoInput!): DeleteSso!
|
|
editSSOIdentityProvider(input: EditSsoInput!): EditSso!
|
|
duplicateDashboard(id: UUID!): DuplicatedDashboard!
|
|
impersonate(userId: UUID!, workspaceId: UUID!): Impersonate!
|
|
sendEmail(input: SendEmailInput!): SendEmailOutput!
|
|
startChannelSync(connectedAccountId: UUID!): ChannelSyncSuccess!
|
|
saveImapSmtpCaldavAccount(accountOwnerId: UUID!, handle: String!, connectionParameters: EmailAccountConnectionParameters!, id: UUID): ImapSmtpCaldavConnectionSuccess!
|
|
updateLabPublicFeatureFlag(input: UpdateLabPublicFeatureFlagInput!): FeatureFlag!
|
|
createPublicDomain(domain: String!, applicationId: String): PublicDomain!
|
|
updatePublicDomain(domain: String!, applicationId: String): PublicDomain!
|
|
deletePublicDomain(domain: String!): Boolean!
|
|
checkPublicDomainValidRecords(domain: String!): DomainValidRecords
|
|
createEmailingDomain(domain: String!, driver: EmailingDomainDriver!): EmailingDomain!
|
|
deleteEmailingDomain(id: String!): Boolean!
|
|
verifyEmailingDomain(id: String!): EmailingDomain!
|
|
createOneAppToken(input: CreateOneAppTokenInput!): AppToken!
|
|
installMarketplaceApp(universalIdentifier: String!, version: String): Boolean!
|
|
syncMarketplaceCatalog: Boolean!
|
|
createDevelopmentApplication(universalIdentifier: String!, name: String!): DevelopmentApplication!
|
|
generateApplicationToken(applicationId: UUID!): ApplicationTokenPair!
|
|
syncApplication(manifest: JSON!): WorkspaceMigration!
|
|
uploadApplicationFile(file: Upload!, applicationUniversalIdentifier: String!, fileFolder: FileFolder!, filePath: String!): File!
|
|
upgradeApplication(appRegistrationId: String!, targetVersion: String!): Boolean!
|
|
renewApplicationToken(applicationRefreshToken: String!): ApplicationTokenPair!
|
|
}
|
|
|
|
input AddQuerySubscriptionInput {
|
|
eventStreamId: String!
|
|
queryId: String!
|
|
operationSignature: JSON!
|
|
}
|
|
|
|
input RemoveQueryFromEventStreamInput {
|
|
eventStreamId: String!
|
|
queryId: String!
|
|
}
|
|
|
|
input CreateNavigationMenuItemInput {
|
|
id: UUID
|
|
userWorkspaceId: UUID
|
|
targetRecordId: UUID
|
|
targetObjectMetadataId: UUID
|
|
viewId: UUID
|
|
type: NavigationMenuItemType!
|
|
name: String
|
|
link: String
|
|
icon: String
|
|
color: String
|
|
folderId: UUID
|
|
pageLayoutId: UUID
|
|
position: Float
|
|
}
|
|
|
|
input UpdateOneNavigationMenuItemInput {
|
|
"""The id of the record to update"""
|
|
id: UUID!
|
|
|
|
"""The record to update"""
|
|
update: UpdateNavigationMenuItemInput!
|
|
}
|
|
|
|
input UpdateNavigationMenuItemInput {
|
|
folderId: UUID
|
|
position: Float
|
|
name: String
|
|
link: String
|
|
icon: String
|
|
color: String
|
|
pageLayoutId: UUID
|
|
}
|
|
|
|
"""The `Upload` scalar type represents a file upload."""
|
|
scalar Upload
|
|
|
|
input CreateViewFilterGroupInput {
|
|
id: UUID
|
|
parentViewFilterGroupId: UUID
|
|
logicalOperator: ViewFilterGroupLogicalOperator = AND
|
|
positionInViewFilterGroup: Float
|
|
viewId: UUID!
|
|
}
|
|
|
|
input UpdateViewFilterGroupInput {
|
|
id: UUID
|
|
parentViewFilterGroupId: UUID
|
|
logicalOperator: ViewFilterGroupLogicalOperator = AND
|
|
positionInViewFilterGroup: Float
|
|
viewId: UUID
|
|
}
|
|
|
|
input CreateViewFilterInput {
|
|
id: UUID
|
|
fieldMetadataId: UUID!
|
|
operand: ViewFilterOperand = CONTAINS
|
|
value: JSON!
|
|
viewFilterGroupId: UUID
|
|
positionInViewFilterGroup: Float
|
|
subFieldName: String
|
|
viewId: UUID!
|
|
}
|
|
|
|
input UpdateViewFilterInput {
|
|
"""The id of the view filter to update"""
|
|
id: UUID!
|
|
|
|
"""The view filter to update"""
|
|
update: UpdateViewFilterInputUpdates!
|
|
}
|
|
|
|
input UpdateViewFilterInputUpdates {
|
|
fieldMetadataId: UUID
|
|
operand: ViewFilterOperand
|
|
value: JSON
|
|
viewFilterGroupId: UUID
|
|
positionInViewFilterGroup: Float
|
|
subFieldName: String
|
|
}
|
|
|
|
input DeleteViewFilterInput {
|
|
"""The id of the view filter to delete."""
|
|
id: UUID!
|
|
}
|
|
|
|
input DestroyViewFilterInput {
|
|
"""The id of the view filter to destroy."""
|
|
id: UUID!
|
|
}
|
|
|
|
input CreateViewInput {
|
|
id: UUID
|
|
name: String!
|
|
objectMetadataId: UUID!
|
|
type: ViewType = TABLE
|
|
key: ViewKey
|
|
icon: String!
|
|
position: Float = 0
|
|
isCompact: Boolean = false
|
|
shouldHideEmptyGroups: Boolean = false
|
|
openRecordIn: ViewOpenRecordIn = SIDE_PANEL
|
|
kanbanAggregateOperation: AggregateOperations
|
|
kanbanAggregateOperationFieldMetadataId: UUID
|
|
anyFieldFilterValue: String
|
|
calendarLayout: ViewCalendarLayout
|
|
calendarFieldMetadataId: UUID
|
|
mainGroupByFieldMetadataId: UUID
|
|
visibility: ViewVisibility
|
|
}
|
|
|
|
input UpdateViewInput {
|
|
id: UUID
|
|
name: String
|
|
type: ViewType
|
|
icon: String
|
|
position: Float
|
|
isCompact: Boolean
|
|
openRecordIn: ViewOpenRecordIn
|
|
kanbanAggregateOperation: AggregateOperations
|
|
kanbanAggregateOperationFieldMetadataId: UUID
|
|
anyFieldFilterValue: String
|
|
calendarLayout: ViewCalendarLayout
|
|
calendarFieldMetadataId: UUID
|
|
visibility: ViewVisibility
|
|
mainGroupByFieldMetadataId: UUID
|
|
shouldHideEmptyGroups: Boolean
|
|
}
|
|
|
|
input UpsertViewWidgetInput {
|
|
"""The id of the view widget (page layout widget)."""
|
|
widgetId: UUID!
|
|
|
|
"""The view fields to upsert."""
|
|
viewFields: [UpsertViewWidgetViewFieldInput!]
|
|
|
|
"""The view filters to upsert."""
|
|
viewFilters: [UpsertViewWidgetViewFilterInput!]
|
|
|
|
"""The view filter groups to upsert."""
|
|
viewFilterGroups: [UpsertViewWidgetViewFilterGroupInput!]
|
|
|
|
"""The view sorts to upsert."""
|
|
viewSorts: [UpsertViewWidgetViewSortInput!]
|
|
}
|
|
|
|
input UpsertViewWidgetViewFieldInput {
|
|
"""The id of an existing view field to update."""
|
|
viewFieldId: UUID
|
|
|
|
"""
|
|
The field metadata id. Used to create a new view field when viewFieldId is not provided.
|
|
"""
|
|
fieldMetadataId: UUID
|
|
isVisible: Boolean!
|
|
position: Float!
|
|
size: Float
|
|
}
|
|
|
|
input UpsertViewWidgetViewFilterInput {
|
|
id: UUID
|
|
fieldMetadataId: UUID!
|
|
operand: ViewFilterOperand = CONTAINS
|
|
value: JSON!
|
|
viewFilterGroupId: UUID
|
|
positionInViewFilterGroup: Float
|
|
subFieldName: String
|
|
}
|
|
|
|
input UpsertViewWidgetViewFilterGroupInput {
|
|
id: UUID
|
|
parentViewFilterGroupId: UUID
|
|
logicalOperator: ViewFilterGroupLogicalOperator = AND
|
|
positionInViewFilterGroup: Float
|
|
}
|
|
|
|
input UpsertViewWidgetViewSortInput {
|
|
id: UUID
|
|
fieldMetadataId: UUID!
|
|
direction: ViewSortDirection = ASC
|
|
}
|
|
|
|
input CreateViewSortInput {
|
|
id: UUID
|
|
fieldMetadataId: UUID!
|
|
direction: ViewSortDirection = ASC
|
|
subFieldName: String
|
|
viewId: UUID!
|
|
}
|
|
|
|
input UpdateViewSortInput {
|
|
"""The id of the view sort to update"""
|
|
id: UUID!
|
|
|
|
"""The view sort to update"""
|
|
update: UpdateViewSortInputUpdates!
|
|
}
|
|
|
|
input UpdateViewSortInputUpdates {
|
|
direction: ViewSortDirection
|
|
subFieldName: String
|
|
}
|
|
|
|
input DeleteViewSortInput {
|
|
"""The id of the view sort to delete."""
|
|
id: UUID!
|
|
}
|
|
|
|
input DestroyViewSortInput {
|
|
"""The id of the view sort to destroy."""
|
|
id: UUID!
|
|
}
|
|
|
|
input UpdateViewFieldInput {
|
|
"""The id of the view field to update"""
|
|
id: UUID!
|
|
|
|
"""The view field to update"""
|
|
update: UpdateViewFieldInputUpdates!
|
|
}
|
|
|
|
input UpdateViewFieldInputUpdates {
|
|
isVisible: Boolean
|
|
size: Float
|
|
position: Float
|
|
aggregateOperation: AggregateOperations
|
|
viewFieldGroupId: UUID
|
|
}
|
|
|
|
input CreateViewFieldInput {
|
|
id: UUID
|
|
fieldMetadataId: UUID!
|
|
viewId: UUID!
|
|
isVisible: Boolean = true
|
|
size: Float = 0
|
|
position: Float = 0
|
|
aggregateOperation: AggregateOperations
|
|
viewFieldGroupId: UUID
|
|
}
|
|
|
|
input DeleteViewFieldInput {
|
|
"""The id of the view field to delete."""
|
|
id: UUID!
|
|
}
|
|
|
|
input DestroyViewFieldInput {
|
|
"""The id of the view field to destroy."""
|
|
id: UUID!
|
|
}
|
|
|
|
input UpdateViewFieldGroupInput {
|
|
"""The id of the view field group to update"""
|
|
id: UUID!
|
|
|
|
"""The view field group to update"""
|
|
update: UpdateViewFieldGroupInputUpdates!
|
|
}
|
|
|
|
input UpdateViewFieldGroupInputUpdates {
|
|
name: String
|
|
position: Float
|
|
isVisible: Boolean
|
|
deletedAt: String
|
|
}
|
|
|
|
input CreateViewFieldGroupInput {
|
|
id: UUID
|
|
name: String!
|
|
viewId: UUID!
|
|
position: Float = 0
|
|
isVisible: Boolean = true
|
|
}
|
|
|
|
input DeleteViewFieldGroupInput {
|
|
"""The id of the view field group to delete."""
|
|
id: UUID!
|
|
}
|
|
|
|
input DestroyViewFieldGroupInput {
|
|
"""The id of the view field group to destroy."""
|
|
id: UUID!
|
|
}
|
|
|
|
input UpsertFieldsWidgetInput {
|
|
"""The id of the fields widget whose groups and fields to upsert"""
|
|
widgetId: UUID!
|
|
|
|
"""
|
|
The groups (with nested fields) to upsert. Mutually exclusive with "fields".
|
|
"""
|
|
groups: [UpsertFieldsWidgetGroupInput!]
|
|
|
|
"""
|
|
The ungrouped fields to upsert. When provided, all existing groups are deleted and fields are detached from groups. Mutually exclusive with "groups".
|
|
"""
|
|
fields: [UpsertFieldsWidgetFieldInput!]
|
|
}
|
|
|
|
input UpsertFieldsWidgetGroupInput {
|
|
id: UUID!
|
|
name: String!
|
|
position: Float!
|
|
isVisible: Boolean!
|
|
fields: [UpsertFieldsWidgetFieldInput!]!
|
|
}
|
|
|
|
input UpsertFieldsWidgetFieldInput {
|
|
"""The id of the view field. Required if fieldMetadataId is not provided."""
|
|
viewFieldId: UUID
|
|
|
|
"""
|
|
The id of the field metadata. Used to create a new view field when viewFieldId is not provided.
|
|
"""
|
|
fieldMetadataId: UUID
|
|
isVisible: Boolean!
|
|
position: Float!
|
|
}
|
|
|
|
input CreateApiKeyInput {
|
|
name: String!
|
|
expiresAt: String!
|
|
revokedAt: String
|
|
roleId: UUID!
|
|
}
|
|
|
|
input UpdateApiKeyInput {
|
|
id: UUID!
|
|
name: String
|
|
expiresAt: String
|
|
revokedAt: String
|
|
}
|
|
|
|
input RevokeApiKeyInput {
|
|
id: UUID!
|
|
}
|
|
|
|
enum AnalyticsType {
|
|
PAGEVIEW
|
|
TRACK
|
|
}
|
|
|
|
input CreateApprovedAccessDomainInput {
|
|
domain: String!
|
|
email: String!
|
|
}
|
|
|
|
input DeleteApprovedAccessDomainInput {
|
|
id: UUID!
|
|
}
|
|
|
|
input ValidateApprovedAccessDomainInput {
|
|
validationToken: String!
|
|
approvedAccessDomainId: UUID!
|
|
}
|
|
|
|
input CreatePageLayoutTabInput {
|
|
title: String!
|
|
position: Float
|
|
pageLayoutId: UUID!
|
|
layoutMode: PageLayoutTabLayoutMode = GRID
|
|
}
|
|
|
|
input UpdatePageLayoutTabInput {
|
|
title: String
|
|
position: Float
|
|
icon: String
|
|
layoutMode: PageLayoutTabLayoutMode
|
|
}
|
|
|
|
input CreatePageLayoutInput {
|
|
name: String!
|
|
type: PageLayoutType = RECORD_PAGE
|
|
objectMetadataId: UUID
|
|
}
|
|
|
|
input UpdatePageLayoutInput {
|
|
name: String
|
|
type: PageLayoutType
|
|
objectMetadataId: UUID
|
|
}
|
|
|
|
input UpdatePageLayoutWithTabsInput {
|
|
name: String!
|
|
type: PageLayoutType!
|
|
objectMetadataId: UUID
|
|
tabs: [UpdatePageLayoutTabWithWidgetsInput!]!
|
|
}
|
|
|
|
input UpdatePageLayoutTabWithWidgetsInput {
|
|
id: UUID!
|
|
title: String!
|
|
position: Float!
|
|
icon: String
|
|
layoutMode: PageLayoutTabLayoutMode = GRID
|
|
widgets: [UpdatePageLayoutWidgetWithIdInput!]!
|
|
}
|
|
|
|
input UpdatePageLayoutWidgetWithIdInput {
|
|
id: UUID!
|
|
pageLayoutTabId: UUID!
|
|
title: String!
|
|
type: WidgetType!
|
|
objectMetadataId: UUID
|
|
gridPosition: GridPositionInput!
|
|
position: JSON
|
|
configuration: JSON
|
|
conditionalDisplay: JSON
|
|
conditionalAvailabilityExpression: String
|
|
}
|
|
|
|
input GridPositionInput {
|
|
row: Float!
|
|
column: Float!
|
|
rowSpan: Float!
|
|
columnSpan: Float!
|
|
}
|
|
|
|
input CreatePageLayoutWidgetInput {
|
|
pageLayoutTabId: UUID!
|
|
title: String!
|
|
type: WidgetType!
|
|
objectMetadataId: UUID
|
|
gridPosition: GridPositionInput!
|
|
position: JSON
|
|
configuration: JSON!
|
|
}
|
|
|
|
input UpdatePageLayoutWidgetInput {
|
|
pageLayoutTabId: UUID
|
|
title: String
|
|
type: WidgetType
|
|
objectMetadataId: UUID
|
|
gridPosition: GridPositionInput
|
|
position: JSON
|
|
configuration: JSON
|
|
conditionalDisplay: JSON
|
|
conditionalAvailabilityExpression: String
|
|
}
|
|
|
|
input CreateLogicFunctionFromSourceInput {
|
|
id: UUID
|
|
universalIdentifier: UUID
|
|
name: String!
|
|
description: String
|
|
timeoutSeconds: Float
|
|
source: JSON
|
|
cronTriggerSettings: JSON
|
|
databaseEventTriggerSettings: JSON
|
|
httpRouteTriggerSettings: JSON
|
|
toolTriggerSettings: JSON
|
|
workflowActionTriggerSettings: JSON
|
|
}
|
|
|
|
input ExecuteOneLogicFunctionInput {
|
|
"""Id of the logic function to execute"""
|
|
id: UUID!
|
|
|
|
"""Payload in JSON format"""
|
|
payload: JSON!
|
|
}
|
|
|
|
input UpdateLogicFunctionFromSourceInput {
|
|
"""Id of the logic function to update"""
|
|
id: UUID!
|
|
|
|
"""The logic function updates"""
|
|
update: UpdateLogicFunctionFromSourceInputUpdates!
|
|
}
|
|
|
|
input UpdateLogicFunctionFromSourceInputUpdates {
|
|
name: String
|
|
description: String
|
|
timeoutSeconds: Float
|
|
sourceHandlerCode: String
|
|
handlerName: String
|
|
sourceHandlerPath: String
|
|
cronTriggerSettings: JSON
|
|
databaseEventTriggerSettings: JSON
|
|
httpRouteTriggerSettings: JSON
|
|
toolTriggerSettings: JSON
|
|
workflowActionTriggerSettings: JSON
|
|
}
|
|
|
|
input CreateCommandMenuItemInput {
|
|
workflowVersionId: UUID
|
|
frontComponentId: UUID
|
|
engineComponentKey: EngineComponentKey!
|
|
label: String!
|
|
icon: String
|
|
shortLabel: String
|
|
position: Float
|
|
isPinned: Boolean
|
|
availabilityType: CommandMenuItemAvailabilityType
|
|
hotKeys: [String!]
|
|
conditionalAvailabilityExpression: String
|
|
availabilityObjectMetadataId: UUID
|
|
payload: JSON
|
|
pageLayoutId: UUID
|
|
}
|
|
|
|
input UpdateCommandMenuItemInput {
|
|
id: UUID!
|
|
label: String
|
|
icon: String
|
|
shortLabel: String
|
|
position: Float
|
|
isPinned: Boolean
|
|
availabilityType: CommandMenuItemAvailabilityType
|
|
availabilityObjectMetadataId: UUID
|
|
engineComponentKey: EngineComponentKey
|
|
hotKeys: [String!]
|
|
pageLayoutId: UUID
|
|
}
|
|
|
|
input CreateFrontComponentInput {
|
|
id: UUID
|
|
name: String!
|
|
description: String
|
|
sourceComponentPath: String!
|
|
builtComponentPath: String!
|
|
componentName: String!
|
|
builtComponentChecksum: String!
|
|
}
|
|
|
|
input UpdateFrontComponentInput {
|
|
"""The id of the front component to update"""
|
|
id: UUID!
|
|
|
|
"""The front component fields to update"""
|
|
update: UpdateFrontComponentInputUpdates!
|
|
}
|
|
|
|
input UpdateFrontComponentInputUpdates {
|
|
name: String
|
|
description: String
|
|
}
|
|
|
|
input CreateOneObjectInput {
|
|
"""The object to create"""
|
|
object: CreateObjectInput!
|
|
}
|
|
|
|
input CreateObjectInput {
|
|
nameSingular: String!
|
|
namePlural: String!
|
|
labelSingular: String!
|
|
labelPlural: String!
|
|
description: String
|
|
icon: String
|
|
shortcut: String
|
|
color: String
|
|
skipNameField: Boolean
|
|
isRemote: Boolean
|
|
primaryKeyColumnType: String
|
|
primaryKeyFieldMetadataSettings: JSON
|
|
isLabelSyncedWithName: Boolean
|
|
}
|
|
|
|
input DeleteOneObjectInput {
|
|
"""The id of the record to delete."""
|
|
id: UUID!
|
|
}
|
|
|
|
input UpdateOneObjectInput {
|
|
update: UpdateObjectPayload!
|
|
|
|
"""The id of the object to update"""
|
|
id: UUID!
|
|
}
|
|
|
|
input UpdateObjectPayload {
|
|
labelSingular: String
|
|
labelPlural: String
|
|
nameSingular: String
|
|
namePlural: String
|
|
description: String
|
|
icon: String
|
|
shortcut: String
|
|
color: String
|
|
isActive: Boolean
|
|
labelIdentifierFieldMetadataId: UUID
|
|
imageIdentifierFieldMetadataId: UUID
|
|
isLabelSyncedWithName: Boolean
|
|
isSearchable: Boolean
|
|
}
|
|
|
|
input CreateAgentInput {
|
|
name: String
|
|
label: String!
|
|
icon: String
|
|
description: String
|
|
prompt: String!
|
|
modelId: String!
|
|
roleId: UUID
|
|
responseFormat: JSON
|
|
modelConfiguration: JSON
|
|
evaluationInputs: [String!]
|
|
}
|
|
|
|
input UpdateAgentInput {
|
|
id: UUID!
|
|
name: String
|
|
label: String
|
|
icon: String
|
|
description: String
|
|
prompt: String
|
|
modelId: String
|
|
roleId: UUID
|
|
responseFormat: JSON
|
|
modelConfiguration: JSON
|
|
evaluationInputs: [String!]
|
|
}
|
|
|
|
input CreateRoleInput {
|
|
id: String
|
|
label: String!
|
|
description: String
|
|
icon: String
|
|
canUpdateAllSettings: Boolean
|
|
canAccessAllTools: Boolean
|
|
canReadAllObjectRecords: Boolean
|
|
canUpdateAllObjectRecords: Boolean
|
|
canSoftDeleteAllObjectRecords: Boolean
|
|
canDestroyAllObjectRecords: Boolean
|
|
canBeAssignedToUsers: Boolean
|
|
canBeAssignedToAgents: Boolean
|
|
canBeAssignedToApiKeys: Boolean
|
|
}
|
|
|
|
input UpdateRoleInput {
|
|
update: UpdateRolePayload!
|
|
|
|
"""The id of the role to update"""
|
|
id: UUID!
|
|
}
|
|
|
|
input UpdateRolePayload {
|
|
label: String
|
|
description: String
|
|
icon: String
|
|
canUpdateAllSettings: Boolean
|
|
canAccessAllTools: Boolean
|
|
canReadAllObjectRecords: Boolean
|
|
canUpdateAllObjectRecords: Boolean
|
|
canSoftDeleteAllObjectRecords: Boolean
|
|
canDestroyAllObjectRecords: Boolean
|
|
canBeAssignedToUsers: Boolean
|
|
canBeAssignedToAgents: Boolean
|
|
canBeAssignedToApiKeys: Boolean
|
|
}
|
|
|
|
input UpsertObjectPermissionsInput {
|
|
roleId: UUID!
|
|
objectPermissions: [ObjectPermissionInput!]!
|
|
}
|
|
|
|
input ObjectPermissionInput {
|
|
objectMetadataId: UUID!
|
|
canReadObjectRecords: Boolean
|
|
canUpdateObjectRecords: Boolean
|
|
canSoftDeleteObjectRecords: Boolean
|
|
canDestroyObjectRecords: Boolean
|
|
}
|
|
|
|
input UpsertPermissionFlagsInput {
|
|
roleId: UUID!
|
|
permissionFlagKeys: [PermissionFlagType!]!
|
|
}
|
|
|
|
input UpsertFieldPermissionsInput {
|
|
roleId: UUID!
|
|
fieldPermissions: [FieldPermissionInput!]!
|
|
}
|
|
|
|
input FieldPermissionInput {
|
|
objectMetadataId: UUID!
|
|
fieldMetadataId: UUID!
|
|
canReadFieldValue: Boolean
|
|
canUpdateFieldValue: Boolean
|
|
}
|
|
|
|
input UpsertRowLevelPermissionPredicatesInput {
|
|
roleId: UUID!
|
|
objectMetadataId: UUID!
|
|
predicates: [RowLevelPermissionPredicateInput!]!
|
|
predicateGroups: [RowLevelPermissionPredicateGroupInput!]!
|
|
}
|
|
|
|
input RowLevelPermissionPredicateInput {
|
|
id: UUID
|
|
fieldMetadataId: UUID!
|
|
operand: RowLevelPermissionPredicateOperand!
|
|
value: JSON
|
|
subFieldName: String
|
|
workspaceMemberFieldMetadataId: String
|
|
workspaceMemberSubFieldName: String
|
|
rowLevelPermissionPredicateGroupId: UUID
|
|
positionInRowLevelPermissionPredicateGroup: Float
|
|
}
|
|
|
|
input RowLevelPermissionPredicateGroupInput {
|
|
id: UUID
|
|
objectMetadataId: UUID!
|
|
parentRowLevelPermissionPredicateGroupId: UUID
|
|
logicalOperator: RowLevelPermissionPredicateGroupLogicalOperator!
|
|
positionInRowLevelPermissionPredicateGroup: Float
|
|
}
|
|
|
|
input CreateOneFieldMetadataInput {
|
|
"""The record to create"""
|
|
field: CreateFieldInput!
|
|
}
|
|
|
|
input CreateFieldInput {
|
|
type: FieldMetadataType!
|
|
name: String!
|
|
label: String!
|
|
description: String
|
|
icon: String
|
|
isCustom: Boolean
|
|
isActive: Boolean
|
|
isSystem: Boolean
|
|
isUIReadOnly: Boolean
|
|
isNullable: Boolean
|
|
isUnique: Boolean
|
|
defaultValue: JSON
|
|
options: JSON
|
|
settings: JSON
|
|
objectMetadataId: UUID!
|
|
isLabelSyncedWithName: Boolean
|
|
isRemoteCreation: Boolean
|
|
relationCreationPayload: JSON
|
|
morphRelationsCreationPayload: [JSON!]
|
|
}
|
|
|
|
input UpdateOneFieldMetadataInput {
|
|
"""The id of the record to update"""
|
|
id: UUID!
|
|
|
|
"""The record to update"""
|
|
update: UpdateFieldInput!
|
|
}
|
|
|
|
input UpdateFieldInput {
|
|
universalIdentifier: String
|
|
name: String
|
|
label: String
|
|
description: String
|
|
icon: String
|
|
isActive: Boolean
|
|
isSystem: Boolean
|
|
isUIReadOnly: Boolean
|
|
isNullable: Boolean
|
|
isUnique: Boolean
|
|
defaultValue: JSON
|
|
options: JSON
|
|
settings: JSON
|
|
objectMetadataId: UUID
|
|
isLabelSyncedWithName: Boolean
|
|
morphRelationsUpdatePayload: [JSON!]
|
|
}
|
|
|
|
input DeleteOneFieldInput {
|
|
"""The id of the field to delete."""
|
|
id: UUID!
|
|
}
|
|
|
|
input CreateViewGroupInput {
|
|
id: UUID
|
|
isVisible: Boolean = true
|
|
fieldValue: String!
|
|
position: Float = 0
|
|
viewId: UUID!
|
|
}
|
|
|
|
input UpdateViewGroupInput {
|
|
"""The id of the view group to update"""
|
|
id: UUID!
|
|
|
|
"""The view group to update"""
|
|
update: UpdateViewGroupInputUpdates!
|
|
}
|
|
|
|
input UpdateViewGroupInputUpdates {
|
|
fieldMetadataId: UUID
|
|
isVisible: Boolean
|
|
fieldValue: String
|
|
position: Float
|
|
}
|
|
|
|
input DeleteViewGroupInput {
|
|
"""The id of the view group to delete."""
|
|
id: UUID!
|
|
}
|
|
|
|
input DestroyViewGroupInput {
|
|
"""The id of the view group to destroy."""
|
|
id: UUID!
|
|
}
|
|
|
|
input UpdateMessageFolderInput {
|
|
id: UUID!
|
|
update: UpdateMessageFolderInputUpdates!
|
|
}
|
|
|
|
input UpdateMessageFolderInputUpdates {
|
|
isSynced: Boolean
|
|
}
|
|
|
|
input UpdateMessageFoldersInput {
|
|
ids: [UUID!]!
|
|
update: UpdateMessageFolderInputUpdates!
|
|
}
|
|
|
|
input UpdateMessageChannelInput {
|
|
id: UUID!
|
|
update: UpdateMessageChannelInputUpdates!
|
|
}
|
|
|
|
input UpdateMessageChannelInputUpdates {
|
|
visibility: MessageChannelVisibility
|
|
isContactAutoCreationEnabled: Boolean
|
|
contactAutoCreationPolicy: MessageChannelContactAutoCreationPolicy
|
|
messageFolderImportPolicy: MessageFolderImportPolicy
|
|
isSyncEnabled: Boolean
|
|
excludeNonProfessionalEmails: Boolean
|
|
excludeGroupEmails: Boolean
|
|
}
|
|
|
|
input CreateEmailGroupChannelInput {
|
|
handle: String!
|
|
}
|
|
|
|
input UpdateCalendarChannelInput {
|
|
id: UUID!
|
|
update: UpdateCalendarChannelInputUpdates!
|
|
}
|
|
|
|
input UpdateCalendarChannelInputUpdates {
|
|
visibility: CalendarChannelVisibility
|
|
isContactAutoCreationEnabled: Boolean
|
|
contactAutoCreationPolicy: CalendarChannelContactAutoCreationPolicy
|
|
isSyncEnabled: Boolean
|
|
}
|
|
|
|
input CreateWebhookInput {
|
|
id: UUID
|
|
targetUrl: String!
|
|
operations: [String!]!
|
|
description: String
|
|
secret: String
|
|
}
|
|
|
|
input UpdateWebhookInput {
|
|
"""The id of the webhook to update"""
|
|
id: UUID!
|
|
|
|
"""The webhook fields to update"""
|
|
update: UpdateWebhookInputUpdates!
|
|
}
|
|
|
|
input UpdateWebhookInputUpdates {
|
|
targetUrl: String
|
|
operations: [String!]
|
|
description: String
|
|
secret: String
|
|
}
|
|
|
|
input CreateSkillInput {
|
|
id: UUID
|
|
name: String!
|
|
label: String!
|
|
icon: String
|
|
description: String
|
|
content: String!
|
|
}
|
|
|
|
input UpdateSkillInput {
|
|
id: UUID!
|
|
name: String
|
|
label: String
|
|
icon: String
|
|
description: String
|
|
content: String
|
|
isActive: Boolean
|
|
}
|
|
|
|
input GetAuthorizationUrlForSSOInput {
|
|
identityProviderId: UUID!
|
|
workspaceInviteHash: String
|
|
}
|
|
|
|
input CreateApplicationRegistrationInput {
|
|
name: String!
|
|
universalIdentifier: String
|
|
oAuthRedirectUris: [String!]
|
|
oAuthScopes: [String!]
|
|
}
|
|
|
|
input UpdateApplicationRegistrationInput {
|
|
id: String!
|
|
update: UpdateApplicationRegistrationPayload!
|
|
}
|
|
|
|
input UpdateApplicationRegistrationPayload {
|
|
name: String
|
|
oAuthRedirectUris: [String!]
|
|
oAuthScopes: [String!]
|
|
isListed: Boolean
|
|
}
|
|
|
|
input CreateApplicationRegistrationVariableInput {
|
|
applicationRegistrationId: String!
|
|
key: String!
|
|
value: String!
|
|
description: String
|
|
isSecret: Boolean
|
|
}
|
|
|
|
input UpdateApplicationRegistrationVariableInput {
|
|
id: String!
|
|
update: UpdateApplicationRegistrationVariablePayload!
|
|
}
|
|
|
|
input UpdateApplicationRegistrationVariablePayload {
|
|
value: String
|
|
resetValue: Boolean
|
|
description: String
|
|
}
|
|
|
|
input UpdateWorkspaceMemberSettingsInput {
|
|
workspaceMemberId: UUID!
|
|
update: JSON!
|
|
}
|
|
|
|
input ActivateWorkspaceInput {
|
|
displayName: String
|
|
}
|
|
|
|
input UpdateWorkspaceInput {
|
|
subdomain: String
|
|
customDomain: String
|
|
displayName: String
|
|
logo: String
|
|
inviteHash: String
|
|
isPublicInviteLinkEnabled: Boolean
|
|
allowImpersonation: Boolean
|
|
isGoogleAuthEnabled: Boolean
|
|
isMicrosoftAuthEnabled: Boolean
|
|
isPasswordAuthEnabled: Boolean
|
|
isGoogleAuthBypassEnabled: Boolean
|
|
isMicrosoftAuthBypassEnabled: Boolean
|
|
isPasswordAuthBypassEnabled: Boolean
|
|
defaultRoleId: UUID
|
|
isTwoFactorAuthenticationEnforced: Boolean
|
|
trashRetentionDays: Float
|
|
eventLogRetentionDays: Float
|
|
fastModel: String
|
|
smartModel: String
|
|
aiAdditionalInstructions: String
|
|
editableProfileFields: [String!]
|
|
enabledAiModelIds: [String!]
|
|
useRecommendedModels: Boolean
|
|
isInternalMessagesImportEnabled: Boolean
|
|
}
|
|
|
|
input WorkspaceMigrationInput {
|
|
actions: [WorkspaceMigrationDeleteActionInput!]!
|
|
}
|
|
|
|
input WorkspaceMigrationDeleteActionInput {
|
|
type: WorkspaceMigrationActionType!
|
|
metadataName: AllMetadataName!
|
|
universalIdentifier: String!
|
|
}
|
|
|
|
enum WorkspaceMigrationActionType {
|
|
delete
|
|
create
|
|
update
|
|
}
|
|
|
|
input SetupOIDCSsoInput {
|
|
name: String!
|
|
issuer: String!
|
|
clientID: String!
|
|
clientSecret: String!
|
|
}
|
|
|
|
input SetupSAMLSsoInput {
|
|
name: String!
|
|
issuer: String!
|
|
id: UUID!
|
|
ssoURL: String!
|
|
certificate: String!
|
|
fingerprint: String
|
|
}
|
|
|
|
input DeleteSsoInput {
|
|
identityProviderId: UUID!
|
|
}
|
|
|
|
input EditSsoInput {
|
|
id: UUID!
|
|
status: SSOIdentityProviderStatus!
|
|
}
|
|
|
|
input SendEmailInput {
|
|
connectedAccountId: String!
|
|
to: String!
|
|
cc: String
|
|
bcc: String
|
|
subject: String!
|
|
body: String!
|
|
inReplyTo: String
|
|
files: [SendEmailAttachmentInput!]
|
|
}
|
|
|
|
input SendEmailAttachmentInput {
|
|
id: String!
|
|
name: String!
|
|
}
|
|
|
|
input EmailAccountConnectionParameters {
|
|
IMAP: ConnectionParameters
|
|
SMTP: ConnectionParameters
|
|
CALDAV: ConnectionParameters
|
|
}
|
|
|
|
input ConnectionParameters {
|
|
host: String!
|
|
port: Float!
|
|
username: String
|
|
password: String!
|
|
secure: Boolean
|
|
}
|
|
|
|
input UpdateLabPublicFeatureFlagInput {
|
|
publicFeatureFlag: String!
|
|
value: Boolean!
|
|
}
|
|
|
|
input CreateOneAppTokenInput {
|
|
"""The record to create"""
|
|
appToken: CreateAppTokenInput!
|
|
}
|
|
|
|
input CreateAppTokenInput {
|
|
expiresAt: DateTime!
|
|
}
|
|
|
|
enum FileFolder {
|
|
ProfilePicture
|
|
WorkspaceLogo
|
|
Attachment
|
|
PersonPicture
|
|
CorePicture
|
|
File
|
|
AgentChat
|
|
BuiltLogicFunction
|
|
BuiltFrontComponent
|
|
PublicAsset
|
|
Source
|
|
FilesField
|
|
Dependencies
|
|
Workflow
|
|
EmailAttachment
|
|
AppTarball
|
|
GeneratedSdkClient
|
|
}
|
|
|
|
type Subscription {
|
|
onEventSubscription(eventStreamId: String!): EventSubscription
|
|
logicFunctionLogs(input: LogicFunctionLogsInput!): LogicFunctionLogs!
|
|
onAgentChatEvent(threadId: UUID!): AgentChatEvent!
|
|
}
|
|
|
|
input LogicFunctionLogsInput {
|
|
applicationId: UUID
|
|
applicationUniversalIdentifier: UUID
|
|
name: String
|
|
id: UUID
|
|
universalIdentifier: UUID
|
|
} |