Architecture
GraphQL Schema
schema {
query: Query
mutation: Mutation
subscription: Subscription
}
"""
Indicates that an Input Object is a OneOf Input Object (and thus requires
exactly one of its field be provided)
"""
directive @oneOf on INPUT_OBJECT
union CollectionItem = Collection | Metadata
union ContentItem = Collection | Metadata | Profile
union WorkflowExecution = WorkflowExecutionPlan | WorkflowJob
type Activities {
activity(id: String!): Activity
all: [Activity!]!
}
type ActivitiesMutation {
add(activity: ActivityInput!): Activity
delete(activityId: String!): Boolean!
edit(activity: ActivityInput!): Activity
}
type Activity {
childWorkflowId: String
configuration: JSON
description: String!
id: String!
inputs: [ActivityParameter!]!
name: String!
outputs: [ActivityParameter!]!
}
type ActivityParameter {
name: String!
type: ActivityParameterType!
}
type Categories {
all: [Category!]!
}
type Category {
id: String!
name: String!
}
type CategoryMutation {
add(category: CategoryInput!): Category!
delete(id: String!): Boolean!
edit(category: CategoryInput!, id: String!): Category!
}
type Collection {
attributes(filter: AttributesFilterInput): JSON
categories: [Category!]!
collections(limit: Int!, offset: Int!): [Collection!]!
collectionsCount: Int!
created: DateTime!
deleted: Boolean!
description: String
id: String!
itemAttributes: JSON
items(limit: Int!, offset: Int!): [CollectionItem!]!
itemsCount: Int!
labels: [String!]!
metadata(limit: Int!, offset: Int!): [Metadata!]!
metadataCount: Int!
metadataRelationships: [CollectionMetadataRelationship!]!
modified: DateTime!
name: String!
ordering: [Ordering!]
parentCollections(limit: Int!, offset: Int!): [Collection!]!
permissions: [Permission!]!
public: Boolean!
publicList: Boolean!
ready: DateTime
slug: String
systemAttributes: JSON
templateMetadata: Metadata
traitIds: [String!]!
type: CollectionType!
workflow: CollectionWorkflow!
}
type CollectionMetadataRelationship {
attributes: JSON
metadata: Metadata!
relationship: String
}
type CollectionMutation {
add(collection: CollectionInput!, collectionItemAttributes: JSON): Collection!
addBulk(collections: [CollectionChildInput!]!): [Collection!]!
addChildCollection(attributes: JSON, collectionId: String!, id: String!): Collection!
addChildMetadata(attributes: JSON, id: String!, metadataId: String!): Collection!
addMetadataRelationship(relationship: CollectionMetadataRelationshipInput!): CollectionMetadataRelationship!
addPermission(permission: PermissionInput!): Permission!
delete(id: String!, recursive: Boolean): Boolean!
deleteMetadataRelationship(id: String!, metadataId: String!, relationship: String!): Boolean!
deletePermission(permission: PermissionInput!): Permission!
edit(collection: CollectionInput!, id: String!): Collection!
editMetadataRelationship(relationship: CollectionMetadataRelationshipInput!): Boolean!
permanentlyDelete(collectionId: String!, recursive: Boolean): Boolean!
removeChildCollection(collectionId: String!, id: String!): Collection!
removeChildMetadata(id: String!, metadataId: String!): Collection!
setChildItemAttributes(attributes: JSON, childCollectionId: String, childMetadataId: String, id: String!): Collection!
setCollectionAttributes(attributes: JSON!, id: String!): Boolean!
setCollectionOrdering(id: String!, ordering: JSON!): Boolean!
setPublic(id: String!, public: Boolean!): Collection!
setPublicList(id: String!, public: Boolean!): Collection!
setReady(id: String!): Boolean!
setWorkflowState(state: CollectionWorkflowState!): Boolean!
setWorkflowStateComplete(state: CollectionWorkflowCompleteState!): Boolean!
}
type CollectionTemplate {
attributes: [TemplateAttribute!]!
collectionFilter: FindQueries
configuration: JSON
defaultAttributes: JSON
metadata: Metadata
metadataFilter: FindQueries
}
type CollectionTemplates {
all: [CollectionTemplate!]!
}
type CollectionWorkflow {
deleteWorkflow: String
pending: String
plans: [WorkflowExecutionPlan!]!
state: String!
stateValid: DateTime
}
type Configuration {
description: String!
id: String!
key: String!
permissions: [ConfigurationPermission!]!
value: JSON
}
type ConfigurationPermission {
action: PermissionAction!
group: Group!
}
type Configurations {
all: [Configuration!]!
configuration(key: String!): Configuration
}
type ConfigurationsMutation {
deleteConfiguration(key: String!): String
setConfiguration(configuration: ConfigurationInput!): Configuration
}
type Content {
categories: Categories!
collection(id: String): Collection
collectionTemplates: CollectionTemplates!
documentTemplates: DocumentTemplates!
findCollections(query: FindQueryInput!): [Collection!]!
findCollectionsCount(query: FindQueryInput!): Int!
findMetadata(query: FindQueryInput!): [Metadata!]!
findMetadataCount(query: FindQueryInput!): Int!
metadata(id: String!, version: Int): Metadata
metadataSupplementary(id: String!, key: String!, version: Int): MetadataSupplementary
slug(slug: String!): ContentItem
sources: Sources!
}
type ContentMutation {
category: CategoryMutation!
collection: CollectionMutation!
metadata: MetadataMutation!
reindex: Boolean!
sources: SourceMutation!
}
type Document {
content: JSON!
template: Metadata
title: String!
}
type DocumentTemplate {
attributes: [TemplateAttribute!]!
configuration: JSON
containers: [DocumentTemplateContainer!]!
content: JSON!
defaultAttributes: JSON
metadata: Metadata
schema: JSON
}
type DocumentTemplateContainer {
description: String!
id: String!
name: String!
supplementaryKey: String
workflows: [TemplateWorkflow!]!
}
type DocumentTemplates {
all: [DocumentTemplate!]!
}
type FindAttribute {
key: String!
value: String!
}
type FindAttributes {
attributes: [FindAttribute!]!
}
type FindQueries {
options: [FindQueryOption!]!
}
type FindQuery {
attributes: [FindAttributes!]!
categoryIds: [String!]
collectionType: CollectionType
contentTypes: [String!]
extensionFilter: ExtensionFilterType
limit: Int
offset: Int
}
type FindQueryOption {
name: String!
query: FindQuery!
}
type Group {
id: String!
name: String!
}
type Groups {
all(limit: Int!, offset: Int!): [Group!]!
}
type Guide {
rrule: String
steps: [GuideStep!]!
template: Metadata
type: GuideType!
}
type GuideStep {
metadata: Metadata
modules: [GuideStepModule!]!
}
type GuideStepModule {
id: Int!
metadata: Metadata
}
type GuideTemplate {
rrule: String
steps: [GuideTemplateStep!]!
type: GuideType!
}
type GuideTemplateStep {
id: Int!
metadata: Metadata
modules: [GuideTemplateStepModule!]!
}
type GuideTemplateStepModule {
id: Int!
metadata: Metadata
}
type Login {
password(identifier: String!, password: String!): LoginResponse!
}
type LoginMutation {
password(identifier: String!, password: String!): LoginResponse!
refreshToken(refreshToken: String!): LoginResponse!
}
type LoginResponse {
principal: Principal!
profile: Profile
refreshToken: String!
token: Token!
}
type Metadata {
attributes(filter: AttributesFilterInput): JSON
categories: [Category!]!
collectionTemplate: CollectionTemplate
content: MetadataContent!
created: DateTime!
deleted: Boolean!
document: Document
documentTemplate: DocumentTemplate
guide: Guide
guideTemplate: GuideTemplate
id: String!
itemAttributes: JSON
labels: [String!]!
languageTag: String!
modified: DateTime!
name: String!
parentCollections(limit: Int!, offset: Int!): [Collection!]!
parentId: String
permissions: [Permission!]!
profiles: [MetadataProfile!]!
public: Boolean!
publicContent: Boolean!
publicSupplementary: Boolean!
ready: DateTime
relationships(filter: [String!]): [MetadataRelationship!]!
slug: String
source: MetadataSource!
supplementary(key: String): [MetadataSupplementary!]!
systemAttributes: JSON
traitIds: [String!]!
type: MetadataType!
uploaded: DateTime
version: Int!
workflow: MetadataWorkflow!
}
type MetadataContent {
json: JSON!
length: Int
text: String!
type: String!
urls: MetadataContentUrls!
}
type MetadataContentUrls {
download: SignedUrl!
upload: SignedUrl!
}
type MetadataMutation {
add(collectionItemAttributes: JSON, metadata: MetadataInput!): Metadata!
addBulk(metadatas: [MetadataChildInput!]!): [Metadata!]!
addCategory(categoryId: String!, metadataId: String!): Boolean!
addPermission(permission: PermissionInput!): Permission!
addRelationship(relationship: MetadataRelationshipInput!): MetadataRelationship!
addSearchDocuments(documents: [SearchDocumentInput!]!, storageSystemId: String!): Boolean!
addSupplementary(supplementary: MetadataSupplementaryInput!): MetadataSupplementary!
addTrait(metadataId: String!, traitId: String!): [WorkflowExecutionPlan!]!
delete(metadataId: String!): Boolean!
deleteCategory(categoryId: String!, metadataId: String!): Boolean!
deleteContent(metadataId: String!): Boolean!
deletePermission(permission: PermissionInput!): Permission!
deleteRelationship(id1: String!, id2: String!, relationship: String!): Boolean!
deleteSupplementary(id: String!, key: String!): Boolean!
deleteTrait(metadataId: String!, traitId: String!): WorkflowExecutionPlan
edit(id: String!, metadata: MetadataInput!): Metadata!
editRelationship(relationship: MetadataRelationshipInput!): Boolean!
permanentlyDelete(metadataId: String!): Boolean!
setMetadataAttributes(attributes: JSON!, id: String!): Boolean!
setMetadataContents(contentType: String, file: Upload!, id: String!): Boolean!
setMetadataDocument(document: DocumentInput!, id: String!, version: Int!): Boolean!
setMetadataJsonContents(content: JSON!, contentType: String, id: String!): Boolean!
setMetadataReady(configurations: [WorkflowConfigurationInput!], id: String!): Boolean!
setMetadataSystemAttributes(attributes: JSON!, id: String!): Boolean!
setMetadataTextContents(content: String!, contentType: String, id: String!): Boolean!
setMetadataUploaded(configurations: [WorkflowConfigurationInput!], contentType: String, id: String!, len: Int!, ready: Boolean): Boolean!
setPublic(id: String!, public: Boolean!): Metadata!
setPublicContent(id: String!, public: Boolean!): Metadata!
setPublicSupplementary(id: String!, public: Boolean!): Metadata!
setSupplementaryContents(contentType: String!, file: Upload!, id: String!, key: String!): Boolean!
setSupplementaryTextContents(content: String!, contentType: String!, id: String!, key: String!): Boolean!
setSupplementaryUploaded(contentType: String!, len: Int!, metadataId: String!, supplementaryKey: String!): Boolean!
setWorkflowState(state: MetadataWorkflowState!): Boolean!
setWorkflowStateComplete(state: MetadataWorkflowCompleteState!): Boolean!
}
type MetadataProfile {
profile: Profile
relationship: String!
}
type MetadataRelationship {
attributes: JSON
id: String!
metadata: Metadata!
relationship: String!
}
type MetadataSource {
id: String
identifier: String
sourceUrl: String
}
type MetadataSupplementary {
attributes: JSON
content: MetadataSupplementaryContent!
created: String!
key: String!
metadataId: String!
modified: String!
name: String!
source: MetadataSupplementarySource!
uploaded: String
}
type MetadataSupplementaryContent {
json: JSON!
length: Int
text: String!
type: String!
urls: MetadataSupplementaryContentUrls!
}
type MetadataSupplementaryContentUrls {
download: SignedUrl!
upload: SignedUrl!
}
type MetadataSupplementaryIdObject {
id: String!
supplementary: String!
}
type MetadataSupplementarySource {
id: String!
identifier: String
}
type MetadataWorkflow {
deleteWorkflow: String
pending: String
plans: [WorkflowExecutionPlan!]!
state: String!
stateValid: DateTime
}
type Model {
configuration: JSON!
description: String!
id: String!
name: String!
type: String!
}
type Models {
all: [Model!]!
model(id: String!): Model
}
type ModelsMutation {
add(model: ModelInput!): Model
delete(id: String!): Boolean!
edit(id: String!, model: ModelInput!): Model
}
type Mutation {
configurations: ConfigurationsMutation!
content: ContentMutation!
persistedQueries: PersistedQueriesMutation!
profiles: ProfilesMutation!
security: SecurityMutation!
workflows: WorkflowsMutation!
}
type Ordering {
order: Order!
path: [String!]!
type: AttributeType!
}
type Permission {
action: PermissionAction!
group: Group!
groupId: String!
}
type PersistedQueriesMutation {
add(application: String!, query: String!, sha256: String!): Boolean!
addAll(application: String!, queries: [PersistedQueryInput!]!): Boolean!
delete(application: String!, sha256: String!): Boolean!
deleteAll: Boolean!
}
type PersistedQueriesObject {
all: [PersistedQuery!]!
query(sha256: String!): PersistedQuery
}
type PersistedQuery {
application: String!
query: String!
sha256: String!
}
type Principal {
groups: [Group!]!
id: String!
verified: Boolean!
}
type Principals {
all(limit: Int!, offset: Int!): [Principal!]!
current: Principal!
}
type Profile {
attributes: [ProfileAttribute!]!
id: String!
name: String!
slug: String
visibility: ProfileVisibility!
}
type ProfileAttribute {
attributes: JSON
confidence: Int!
expires: DateTime
id: String!
metadata: Metadata
priority: Int!
source: String!
typeId: String!
visibility: ProfileVisibility!
}
type ProfileAttributeType {
description: String!
id: String!
name: String!
visibility: ProfileVisibility!
}
type ProfileAttributeTypes {
all: [ProfileAttributeType!]!
}
type Profiles {
all(limit: Int!, offset: Int!): [Profile!]!
attributeTypes: ProfileAttributeTypes!
current: Profile
profile(id: String!): Profile
}
type ProfilesMutation {
add(profile: ProfileInput!): Profile
addAttributeType(attribute: ProfileAttributeTypeInput!): Boolean!
deleteAttributeType(attributeId: String!): Boolean!
edit(id: String, profile: ProfileInput!): Profile
editAttributeType(attribute: ProfileAttributeTypeInput!): Boolean!
}
type Prompt {
description: String!
id: String!
inputType: String!
name: String!
outputType: String!
schema: JSON
systemPrompt: String!
userPrompt: String!
}
type Prompts {
all: [Prompt!]!
prompt(id: String!): Prompt
}
type PromptsMutation {
add(prompt: PromptInput!): Prompt
delete(id: String!): Boolean!
edit(id: String!, prompt: PromptInput!): Prompt
}
type Query {
configurations: Configurations!
content: Content!
persistedQueries: PersistedQueriesObject!
profiles: Profiles!
search(query: SearchQuery!): SearchResultObject!
security: Security!
workflows: Workflows!
}
type SearchDocument {
collection: Collection
content: String!
metadata: Metadata
profile: Profile
}
type SearchResultObject {
documents: [SearchDocument!]!
estimatedHits: Int!
}
type Security {
actions: [String!]!
groups: Groups!
login: Login!
principal: Principal!
principals: Principals!
}
type SecurityMutation {
addPrincipalGroup(groupId: String!, principalId: String!): Boolean!
expireRefreshTokens: Boolean!
login: LoginMutation!
signup: SignupMutation!
}
type SignedUrl {
headers: [SignedUrlHeader!]!
url: String!
}
type SignedUrlHeader {
name: String!
value: String!
}
type SignupMutation {
password(identifier: String!, password: String!, profile: ProfileInput!): Principal!
passwordVerify(verificationToken: String!): Boolean!
}
type Source {
configuration: JSON!
description: String!
id: String!
name: String!
}
type SourceMutation {
add(source: SourceInput!): Source
}
type Sources {
all: [Source!]!
source(id: String!): Source
}
type StorageSystem {
configuration: JSON
description: String!
id: String!
models: [StorageSystemModel!]!
name: String!
type: StorageSystemType!
}
type StorageSystemModel {
configuration: JSON!
model: Model
modelId: String!
}
type StorageSystems {
all: [StorageSystem!]!
storageSystem(id: String!): StorageSystem
}
type StorageSystemsMutation {
add(storageSystem: StorageSystemInput!): StorageSystem
delete(id: String!): Boolean!
edit(id: String!, storageSystem: StorageSystemInput!): StorageSystem
}
type Subscription {
activity: String!
category: String!
collection: String!
configuration: String!
metadata: String!
metadataSupplementary: MetadataSupplementaryIdObject!
model: String!
prompt: String!
state: String!
storageSystem: String!
trait: String!
transition: TransitionIdObject!
workflow: String!
workflowPlanFailed: WorkflowExecutionId!
workflowPlanFinished: WorkflowExecutionId!
workflowSchedule: String!
}
type TemplateAttribute {
configuration: JSON
description: String!
key: String!
list: Boolean!
name: String!
supplementaryKey: String
type: AttributeType!
ui: AttributeUiType!
workflows: [TemplateWorkflow!]!
}
type TemplateWorkflow {
autoRun: Boolean!
workflow: Workflow
}
type Token {
expiresAt: Int!
issuedAt: Int!
token: String!
}
type Trait {
contentTypes: [String!]!
deleteWorkflowId: String
description: String!
id: String!
name: String!
workflowIds: [String!]!
workflows: [Workflow!]!
}
type Traits {
all: [Trait!]!
trait(id: String!): Trait
}
type TraitsMutation {
add(model: TraitInput!): Trait
delete(id: String!): Boolean!
edit(model: TraitInput!): Trait
}
type Transition {
description: String!
fromStateId: String!
toStateId: String!
}
type TransitionIdObject {
fromStateId: String!
toStateId: String!
}
type Transitions {
all: [Transition!]!
transition(fromStateId: String!, toStateId: String!): Transition
}
type TransitionsMutation {
add(transition: TransitionInput!): Transition
delete(fromStateId: String!, toStateId: String!): Boolean!
edit(transition: TransitionInput!): Transition
}
type Workflow {
activities: [WorkflowActivity!]!
configuration: JSON!
description: String!
id: String!
name: String!
queue: String!
}
type WorkflowActivity {
activityId: String!
configuration: JSON
executionGroup: Int!
id: Int!
inputs: [WorkflowActivityParameter!]!
models: [WorkflowActivityModel!]!
outputs: [WorkflowActivityParameter!]!
prompts: [WorkflowActivityPrompt!]!
queue: String!
storageSystems: [WorkflowActivityStorageSystem!]!
}
type WorkflowActivityModel {
configuration: JSON
model: Model!
}
type WorkflowActivityParameter {
name: String!
value: String!
}
type WorkflowActivityPrompt {
configuration: JSON
prompt: Prompt!
}
type WorkflowActivityStorageSystem {
configuration: JSON
system: StorageSystem!
}
type WorkflowExecutionId {
id: String!
queue: String!
}
type WorkflowExecutionPlan {
active: [Int!]!
cancelled: Boolean!
collectionId: String
complete: [Int!]!
context: JSON
error: String
failed: [Int!]!
id: WorkflowExecutionId!
jobs: [WorkflowJob!]!
metadata: Metadata
metadataId: String
metadataVersion: Int
parent: WorkflowJobId
supplementaryId: String
workflow: Workflow!
}
type WorkflowJob {
activity: Activity!
children: [WorkflowExecutionId!]!
collection: Collection
collectionId: String
completedChildren: [WorkflowExecutionId!]!
context: JSON
error: String
failedChildren: [WorkflowExecutionId!]!
id: WorkflowJobId!
metadata: Metadata
metadataVersion: Int
models: [WorkflowActivityModel!]!
planId: WorkflowExecutionId!
prompts: [WorkflowActivityPrompt!]!
storageSystems: [WorkflowActivityStorageSystem!]!
supplementaryId: String
workflow: Workflow!
workflowActivity: WorkflowActivity!
}
type WorkflowJobId {
id: String!
index: Int!
queue: String!
}
type WorkflowSchedule {
attributes: JSON
collection: Collection
configuration: JSON
enabled: Boolean!
ends: DateTime
id: String!
lastRun: DateTime
lastScheduled: DateTime
metadata: Metadata
nextRun: DateTime
rrule: String!
starts: DateTime!
workflow: Workflow
}
type WorkflowSchedules {
all: [WorkflowSchedule!]!
}
type WorkflowSchedulesMutation {
add(collectionId: String, metadataId: String, schedule: WorkflowScheduleInput!): WorkflowSchedule
delete(id: String!): Boolean!
}
type WorkflowState {
configuration: JSON
description: String!
entryWorkflowId: String
exitWorkflowId: String
id: String!
name: String!
type: WorkflowStateType!
workflowId: String
}
type WorkflowStates {
all: [WorkflowState!]!
state(id: String!): WorkflowState
}
type WorkflowStatesMutation {
add(state: WorkflowStateInput!): WorkflowState
delete(id: String!): Boolean!
edit(state: WorkflowStateInput!): WorkflowState
}
type Workflows {
activities: Activities!
all: [Workflow!]!
executionPlan(id: String!, queue: String!): WorkflowExecutionPlan
executions(limit: Int!, offset: Int!, queue: String!): [WorkflowExecution!]!
models: Models!
nextJob(queue: String!): WorkflowJob
prompts: Prompts!
schedules: WorkflowSchedules!
states: WorkflowStates!
storageSystems: StorageSystems!
traits: Traits!
transitions: Transitions!
workflow(id: String!): Workflow
workflowActivity(id: Int!): WorkflowActivity
}
type WorkflowsMutation {
activities: ActivitiesMutation!
add(workflow: WorkflowInput!): Workflow!
beginTransition(configurations: [WorkflowConfigurationInput!], request: BeginTransitionInput!): Boolean!
cancelTransition(collectionId: String, metadataId: String, metadataVersion: Int): Boolean!
cancelWorkflows(collectionId: String, metadataId: String, metadataVersion: Int, workflowId: String!): Boolean!
delete(id: String!): Boolean!
edit(workflow: WorkflowInput!): Workflow!
enqueueChildWorkflow(configurations: [WorkflowConfigurationInput!], delayUntil: DateTime, jobId: WorkflowJobIdInput!, workflowId: String!): WorkflowExecutionId!
enqueueChildWorkflows(delayUntil: DateTime, jobId: WorkflowJobIdInput!, workflowIds: [String!]!): [WorkflowExecutionId!]!
enqueueWorkflow(collectionId: String, configurations: [WorkflowConfigurationInput!], delayUntil: DateTime, metadataId: String, version: Int, workflowId: String!): WorkflowExecutionId!
expireAll: Boolean!
findAndEnqueueWorkflow(configurations: [WorkflowConfigurationInput!], delayUntil: DateTime, query: FindQueryInput!, workflowId: String!): [WorkflowExecutionId!]!
models: ModelsMutation!
prompts: PromptsMutation!
schedules: WorkflowSchedulesMutation!
setExecutionPlanContext(context: JSON!, planId: WorkflowExecutionIdInput!): Boolean!
setExecutionPlanJobCheckin(jobId: WorkflowJobIdInput!): Boolean!
setExecutionPlanJobComplete(jobId: WorkflowJobIdInput!): Boolean!
setExecutionPlanJobContext(context: JSON!, jobId: WorkflowJobIdInput!): Boolean!
setExecutionPlanJobDelayed(delayedUntil: DateTime!, jobId: WorkflowJobIdInput!): Boolean!
setExecutionPlanJobFailed(error: String!, jobId: WorkflowJobIdInput!): Boolean!
states: WorkflowStatesMutation!
storageSystems: StorageSystemsMutation!
traits: TraitsMutation!
transitions: TransitionsMutation!
}
enum ActivityParameterType {
CONTEXT
SUPPLEMENTARY
SUPPLEMENTARY_ARRAY
}
enum AttributeType {
COLLECTION
DATE
DATE_TIME
FLOAT
INT
METADATA
PROFILE
STRING
}
enum AttributeUiType {
COLLECTION
FILE
IMAGE
INPUT
METADATA
PROFILE
TEXTAREA
}
enum CollectionType {
FOLDER
QUEUE
ROOT
STANDARD
SYSTEM
}
enum ExtensionFilterType {
COLLECTION_TEMPLATE
DOCUMENT
DOCUMENT_TEMPLATE
GUIDE
GUIDE_TEMPLATE
}
enum GuideType {
CALENDAR
CALENDAR_PROGRESS
LINEAR
LINEAR_PROGRESS
}
enum MetadataType {
STANDARD
VARIANT
}
enum Order {
ASCENDING
DESCENDING
}
enum PermissionAction {
DELETE
EDIT
EXECUTE
IMPERSONATE
LIST
MANAGE
VIEW
}
enum ProfileVisibility {
FRIENDS
FRIENDS_OF_FRIENDS
PUBLIC
SYSTEM
USER
}
enum StorageSystemType {
SEARCH
SUPPLEMENTARY
VECTOR
}
enum WorkflowStateType {
APPROVAL
APPROVED
DRAFT
FAILURE
PENDING
PROCESSING
PUBLISHED
}
"""
Implement the DateTime<Utc> scalar
The input/output is a string in RFC3339 format.
"""
scalar DateTime
"A scalar that can represent any JSON value."
scalar JSON
scalar Upload
input ActivityInput {
childWorkflowId: String
configuration: JSON
description: String!
id: String!
inputs: [ActivityParameterInput!]!
name: String!
outputs: [ActivityParameterInput!]!
}
input ActivityParameterInput {
name: String!
type: ActivityParameterType!
}
input AttributesFilterInput {
attributes: [String!]!
childAttributes: AttributesFilterInput
}
input BeginTransitionInput {
collectionId: String
metadataId: String
restart: Boolean
stateId: String!
stateValid: DateTime
status: String!
supplementaryId: String
version: Int
waitForCompletion: Boolean
}
input CategoryInput {
name: String!
}
input CollectionChildInput {
attributes: JSON
collection: CollectionInput!
}
input CollectionInput {
attributes: JSON
categoryIds: [String!]
collectionType: CollectionType
collections: [CollectionChildInput!]
description: String
index: Boolean
labels: [String!]
metadata: [MetadataChildInput!]
name: String!
ordering: [OrderingInput!]
parentCollectionId: String
slug: String
state: CollectionWorkflowInput
templateMetadataId: String
templateMetadataVersion: Int
traitIds: [String!]
}
input CollectionMetadataRelationshipInput {
attributes: JSON
id: String!
metadataId: String!
relationship: String
}
input CollectionTemplateInput {
attributes: [TemplateAttributeInput!]!
collectionFilter: FindQueriesInput
configuration: JSON
defaultAttributes: JSON
metadataFilter: FindQueriesInput
}
input CollectionWorkflowCompleteState {
collectionId: String!
status: String!
}
input CollectionWorkflowInput {
deleteWorkflowId: String
state: String!
}
input CollectionWorkflowState {
collectionId: String!
immediate: Boolean!
stateId: String!
status: String!
}
input ConfigurationInput {
description: String!
key: String!
permissions: [PermissionInput!]!
value: JSON!
}
input DocumentInput {
content: JSON!
templateMetadataId: String
templateMetadataVersion: Int
title: String!
}
input DocumentTemplateContainerInput {
description: String!
id: String!
name: String!
supplementaryKey: String
workflows: [TemplateWorkflowInput!]!
}
input DocumentTemplateInput {
attributes: [TemplateAttributeInput!]!
configuration: JSON
containers: [DocumentTemplateContainerInput!]
content: JSON!
defaultAttributes: JSON
schema: JSON
}
input FindAttributeInput {
key: String!
value: String!
}
input FindAttributesInput {
attributes: [FindAttributeInput!]!
}
input FindQueriesInput {
options: [FindQueryOptionInput!]!
}
input FindQueryInput {
attributes: [FindAttributesInput!]!
categoryIds: [String!]
collectionType: CollectionType
contentTypes: [String!]
extensionFilter: ExtensionFilterType
limit: Int
offset: Int
}
input FindQueryOptionInput {
name: String!
query: FindQueryInput!
}
input GuideInput {
guideType: GuideType!
rrule: String
steps: [GuideStepInput!]!
templateMetadataId: String
templateMetadataVersion: Int
}
input GuideStepInput {
modules: [GuideStepModuleInput!]!
stepMetadataId: String
stepMetadataVersion: Int
}
input GuideStepModuleInput {
moduleMetadataId: String!
moduleMetadataVersion: Int!
}
input GuideTemplateInput {
rrule: String!
steps: [GuideTemplateStepInput!]!
type: GuideType!
}
input GuideTemplateStepInput {
modules: [GuideTemplateStepModuleInput!]!
templateMetadataId: String
templateMetadataVersion: Int
}
input GuideTemplateStepModuleInput {
templateMetadataId: String!
templateMetadataVersion: Int!
}
input MetadataChildInput {
attributes: JSON
metadata: MetadataInput!
}
input MetadataInput {
attributes: JSON
categoryIds: [String!]
collectionTemplate: CollectionTemplateInput
contentLength: Int
contentType: String!
document: DocumentInput
documentTemplate: DocumentTemplateInput
guide: GuideInput
guideTemplate: GuideTemplateInput
index: Boolean
labels: [String!]
languageTag: String!
metadataType: MetadataType
name: String!
parentCollectionId: String
parentId: String
profiles: [MetadataProfileInput!]
slug: String
source: MetadataSourceInput
state: MetadataWorkflowInput
traitIds: [String!]
version: Int
}
input MetadataProfileInput {
profileId: String!
relationship: String!
}
input MetadataRelationshipInput {
attributes: JSON
id1: String!
id2: String!
relationship: String
}
input MetadataSourceInput {
id: String
identifier: String
sourceUrl: String
}
input MetadataSupplementaryInput {
attributes: JSON
contentLength: Int
contentType: String!
key: String!
metadataId: String!
name: String!
sourceId: String
sourceIdentifier: String
}
input MetadataWorkflowCompleteState {
metadataId: String!
status: String!
}
input MetadataWorkflowInput {
deleteWorkflowId: String
state: String!
}
input MetadataWorkflowState {
immediate: Boolean!
metadataId: String!
stateId: String!
status: String!
}
input ModelInput {
configuration: JSON!
description: String!
name: String!
type: String!
}
input OrderingInput {
order: Order!
path: [String!]!
type: AttributeType!
}
input PermissionInput {
action: PermissionAction!
entityId: String!
groupId: String!
}
input PersistedQueryInput {
query: String!
sha256: String!
}
input ProfileAttributeInput {
attributes: JSON
confidence: Int!
expiration: DateTime
id: String
metadataId: String
metadataSupplementary: String
priority: Int!
source: String!
typeId: String!
visibility: ProfileVisibility!
}
input ProfileAttributeTypeInput {
description: String!
id: String!
name: String!
visibility: ProfileVisibility!
}
input ProfileInput {
attributes: [ProfileAttributeInput!]!
name: String!
slug: String
visibility: ProfileVisibility!
}
input PromptInput {
description: String!
inputType: String!
name: String!
outputType: String!
schema: JSON
systemPrompt: String!
userPrompt: String!
}
input SearchDocumentInput {
collectionId: String
content: String!
metadataId: String
profileId: String
}
input SearchQuery {
filter: String
limit: Int
offset: Int
query: String!
storageSystemId: String!
}
input SourceInput {
configuration: JSON!
description: String!
name: String!
}
input StorageSystemInput {
configuration: JSON
description: String!
models: [StorageSystemModelInput!]!
name: String!
type: StorageSystemType!
}
input StorageSystemModelInput {
configuration: JSON!
modelId: String!
}
input TemplateAttributeInput {
configuration: JSON
description: String!
key: String!
list: Boolean!
name: String!
supplementaryKey: String
type: AttributeType!
ui: AttributeUiType!
workflows: [TemplateWorkflowInput!]!
}
input TemplateWorkflowInput {
autoRun: Boolean!
workflowId: String!
}
input TraitInput {
contentTypes: [String!]!
deleteWorkflowId: String
description: String!
id: String!
name: String!
workflowIds: [String!]!
}
input TransitionInput {
description: String!
fromStateId: String!
toStateId: String!
}
input WorkflowActivityInput {
activityId: String!
configuration: JSON
description: String!
executionGroup: Int!
inputs: [WorkflowActivityParameterInput!]!
models: [WorkflowActivityModelInput!]!
outputs: [WorkflowActivityParameterInput!]!
prompts: [WorkflowActivityPromptInput!]!
queue: String!
storageSystems: [WorkflowActivityStorageSystemInput!]!
}
input WorkflowActivityModelInput {
configuration: JSON
modelId: String!
}
input WorkflowActivityParameterInput {
name: String!
value: String!
}
input WorkflowActivityPromptInput {
configuration: JSON
promptId: String!
}
input WorkflowActivityStorageSystemInput {
configuration: JSON
systemId: String!
}
input WorkflowConfigurationInput {
activityId: String!
configuration: JSON!
}
input WorkflowExecutionIdInput {
id: String!
queue: String!
}
input WorkflowInput {
activities: [WorkflowActivityInput!]!
configuration: JSON!
description: String!
id: String!
name: String!
queue: String!
}
input WorkflowJobIdInput {
id: String!
index: Int!
queue: String!
}
input WorkflowScheduleInput {
attributes: JSON
configuration: JSON
enabled: Boolean!
ends: DateTime
rrule: String!
workflowId: String!
}
input WorkflowStateInput {
configuration: JSON!
description: String!
entryWorkflowId: String
exitWorkflowId: String
id: String!
name: String!
type: WorkflowStateType!
workflowId: String
}