# snFlowDesigner GraphQL contract (introspected from PDI dev380262)

`flow(flowPatch: FlowPatch)` + `safeEdit(safeEditInput: SafeEditInput)` — 52 types.

### FlowPatch  `INPUT_OBJECT`
- flowId: String
- properties: ~FlowPropertiesInput
- aliasOverride: ~AliasOverrideMappingsInput
- flowVariables: ~FlowVariableInput
- pharmacy: ~PharmacyInput
- labelCache: ~LabelCacheInput
- triggerInstances: ~TriggerInstanceInput
- stages: ~FlowStageInput
- actions: ~ActionInstanceInput
- flowLogics: ~FlowLogicInstanceInput
- subflows: ~SubflowInstanceInput
- inputs: ~FlowDesignParameterInput
- outputs: ~FlowVariableInput

### SafeEditInput  `INPUT_OBJECT`
- upsert: ~SafeEditUpsertInput
- delete: String
- read: String

### SafeEditUpsertInput  `INPUT_OBJECT`
- flowId: String
- lastUpdated: String

### TriggerInstanceInput  `INPUT_OBJECT`
- insert: ~TriggerInstance
- update: ~TriggerInstance
- delete: String

### TriggerInstance  `INPUT_OBJECT`
- comment: String
- deleted: Boolean
- displayText: String
- flowSysId: String
- id: String
- inputs: ~TriggerInstanceValue
- outputs: ~TriggerInstanceOutput
- name: String
- remoteSysId: String
- triggerType: String
- triggerDefinitionId: String
- type: String
- hasDynamicOutputs: Boolean
- triggerDefinition: ~TriggerDefinition
- publishedVersion: String
- metadata: String
- flowVersion: String

### TriggerInstanceValue  `INPUT_OBJECT`
- id: String
- name: String
- value: ~InstanceInputValue
- displayValue: ~InstanceInputValue
- parameter: ~FlowDesignParameter
- children: ~InstanceValue
- displayField: String
- scriptActive: Boolean
- script: ~ScriptInput
- triggerInstanceSysId: String
- label: String
- internalType: String
- dependent: String
- choiceList: ~GlideChoice
- mandatory: Boolean
- fromTemplate: Boolean
- templateValue: String
- order: Int
- valueSysId: String
- field_name: String
- type: String
- scriptAsJsonString: String

### ActionInstanceInput  `INPUT_OBJECT`
- insert: ~ActionInstance
- update: ~ActionInstance
- delete: String

### ActionInstance  `INPUT_OBJECT`
- actionType: ~ActionTypeDefinition
- actionTypeSysId: String
- aliasIds: String
- aliasOverride: ~AliasOverrideInput
- comment: String
- compiledSnapshot: String
- deleted: Boolean
- metadata: String
- displayText: String
- domainId: String
- flowSysId: String
- flowBlock: ~ComponentInstance
- generationSource: String
- attributes: String
- id: String
- inputs: ~ActionInstanceValue
- name: String
- order: String
- outputs: ~FlowDesignVariable
- parent: String
- parentActionTypeSysId: String
- pharmacy: ~Pharmacy
- scope: String
- snapshot: Boolean
- status: String
- uiUniqueIdentifier: String
- type: String
- copiedFrom: String
- parentActionTypeId: String
- flowVersion: String
- uiComponentIndex: Int
- parentUiId: String
- internalName: String

### ActionInstanceValue  `INPUT_OBJECT`
- actionInstanceSysId: String
- id: String
- name: String
- value: ~InstanceInputValue
- displayValue: ~InstanceInputValue
- children: ~ActionInstanceValue
- parameter: ~FlowDesignParameter
- displayField: String
- scriptActive: Boolean
- script: ~ScriptInput
- scriptAsJsonString: String

### FlowLogicInstanceInput  `INPUT_OBJECT`
- insert: ~FlowLogicInstance
- update: ~FlowLogicInstance
- delete: String

### FlowLogicInstance  `INPUT_OBJECT`
- id: String
- name: String
- order: String
- displayText: String
- uiUniqueIdentifier: String
- deleted: Boolean
- snapshot: Boolean
- parent: String
- metadata: String
- domainId: String
- comment: String
- scope: String
- copiedFrom: String
- flowSysId: String
- inputs: ~InstanceValue
- status: String
- compiledSnapshot: String
- pharmacy: ~Pharmacy
- outputsToAssign: ~InstanceValue
- variables: ~InstanceValue
- flowBlockId: String
- flowBlock: ~ComponentInstance
- generationSource: String
- attributes: String
- connectedTo: String
- quiescence: String
- definitionId: String
- workflowReference: String
- workflowInputs: ~InstanceValue
- workflowInformation: String
- decisionTableReference: String
- decisionTableInputs: ~InstanceValue
- dynamicInputs: ~FlowDesignVariable
- dynamicOutputs: ~FlowDesignVariable
- decisionTableInformation: ~DecisionTableInformation
- flowVariables: ~InstanceValue
- flowLogicDefinition: ~FlowLogicDefinition
- childBlockDefinition: ~FlowLogicDefinition
- type: String
- flowVersion: String
- uiComponentIndex: Int
- parentUiId: String
- afterTopLevelCatch: Boolean
- internalName: String

### SubflowInstanceInput  `INPUT_OBJECT`
- insert: ~SubflowInstance
- update: ~SubflowInstance
- delete: String

### SubflowInstance  `INPUT_OBJECT`
- aliasIds: String
- comment: String
- copiedFrom: String
- deleted: Boolean
- metadata: String
- displayText: String
- flowBlock: ~ComponentInstance
- generationSource: String
- attributes: String
- flowSysId: String
- id: String
- inputs: ~SubflowInstanceValue
- outputs: ~FlowDesignVariable
- name: String
- order: String
- parent: String
- scope: String
- snapshot: Boolean
- compiledSnapshot: String
- parentSubFlowId: String
- aliasOverride: ~AliasOverrideInput
- subflowSysId: String
- uiUniqueIdentifier: String
- waitForCompletion: ~FlowDesignVariable
- subFlow: ~Flow
- type: String
- flowVersion: String
- uiComponentIndex: Int
- parentUiId: String
- domainId: String
- contextRecord: ~FlowDesignVariable
- showStages: ~FlowDesignVariable
- internalName: String

### SubflowInstanceValue  `INPUT_OBJECT`
- subFlowInstanceId: String
- displayValue: ~InstanceInputValue
- id: String
- name: String
- parameter: ~FlowDesignParameter
- scriptActive: Boolean
- value: ~InstanceInputValue
- children: ~SubflowInstanceValue
- displayField: String
- script: ~ScriptInput
- scriptAsJsonString: String

### FlowStageInput  `INPUT_OBJECT`
- insert: ~FlowStage
- update: ~FlowStage
- delete: String

### FlowStage  `INPUT_OBJECT`
- id: String
- stageId: String
- componentIndexes: Int
- label: String
- value: String
- type: String
- parent: String
- duration: String
- ancestorStageId: String
- ancestorCompId: String
- ancestralIfElseLogic: String
- ancestorArrPos: String
- states: ~FlowStageState
- flow: String
- alwaysShow: Boolean
- order: Int

### FlowStageState  `INPUT_OBJECT`
- name: String
- label: String

### FlowVariableInput  `INPUT_OBJECT`
- insert: ~FlowDesignVariable
- update: ~FlowDesignVariable
- delete: String

### FlowDesignVariable  `INPUT_OBJECT`
- id: String
- label: String
- name: String
- type: String
- type_label: String
- hint: String
- order: Int
- extended: Boolean
- mandatory: Boolean
- readonly: Boolean
- maxsize: Int
- data_structure: String
- reference: String
- reference_display: String
- ref_qual: String
- choices: ~SimpleChoice
- defaultChoices: ~SimpleChoice
- choiceOption: String
- table: String
- columnName: String
- defaultValue: String
- defaultDisplayValue: String
- use_dependent: Boolean
- dependent_on: String
- show_ref_finder: Boolean
- local: Boolean
- searchField: String
- attributes: String
- sys_class_name: String
- comments: String
- uiDisplayType: String
- uiDisplayTypeLabel: String
- dynamic: ~InputActionInstance
- internal_link: String
- children: ~ComplexObjectParameter
- placeholder: String
- complexObjectValue: ~InstanceValue
- scriptAsJsonString: String
- value: String
- display_value: String
- scriptActive: Boolean
- script: ~ScriptInput
- uiType: String
- uiTypeLabel: String

### FlowDesignParameterInput  `INPUT_OBJECT`
- insert: ~FlowDesignParameter
- update: ~FlowDesignParameter
- delete: String

### FlowDesignParameter  `INPUT_OBJECT`
- id: String
- label: String
- name: String
- type: String
- type_label: String
- hint: String
- order: Int
- extended: Boolean
- mandatory: Boolean
- readonly: Boolean
- maxsize: Int
- data_structure: String
- reference: String
- reference_display: String
- ref_qual: String
- choices: ~SimpleChoice
- defaultChoices: ~SimpleChoice
- choiceOption: String
- table: String
- columnName: String
- defaultValue: String
- defaultDisplayValue: String
- use_dependent: Boolean
- dependent_on: String
- internal_link: String
- show_ref_finder: Boolean
- local: Boolean
- searchField: String
- attributes: String
- sys_class_name: String
- comments: String
- uiDisplayType: String
- uiDisplayTypeLabel: String
- dynamic: ~InputActionInstance
- children: ~ComplexObjectParameter
- placeholder: String
- uiType: String
- uiTypeLabel: String

### FlowPropertiesInput  `INPUT_OBJECT`
- update: ~FlowProperties

### FlowProperties  `INPUT_OBJECT`
- name: String

### Flow  `INPUT_OBJECT`
- access: String
- actionInstances: ~ActionInstance
- active: Boolean
- aliasOverride: ~AliasOverrideInput
- annotation: String
- attributes: String
- authoredOnReleaseVersion: Int
- canWriteProtection: Boolean
- category: String
- clientCallable: Boolean
- clientSessionId: String
- compilerBuild: String
- copiedFrom: String
- created: String
- deleted: Boolean
- deletedActions: ~ActionInstance
- deletedFlowLogics: ~FlowLogicInstance
- description: String
- domainId: String
- domainName: String
- flowCatalogVariableModelId: String
- flowCatalogVariables: ~FlowDesignParameter
- flowEngineVersion: Int
- flowLogicInstances: ~FlowLogicInstance
- flowPriority: String
- flowVariables: ~FlowDesignVariable
- id: String
- inputs: ~FlowDesignParameter
- internalName: String
- isFlowEntitled: Boolean
- isPublished: Boolean
- jsonSnapshot: Boolean
- label_cache: ~LabelCache
- labelCacheAsJsonString: String
- latestSnapshot: String
- masterSnapshot: Boolean
- name: String
- natlang: String
- outputs: ~FlowDesignVariable
- pharmacy: ~Pharmacy
- parentFlow: String
- protection: String
- remoteTriggerSysId: String
- runAs: String
- runWithRoles: ~FlowRoles
- scope: String
- scopeDisplayName: String
- scopeLogo: String
- scopeName: String
- scopeProtectionPolicyReadOnly: Boolean
- security: ~Security
- serviceCatalogCallable: Boolean
- snapshot: Boolean
- stages: ~FlowStage
- status: String
- startingIndexOfErrorHandlingInstances: Int
- subflowInstances: ~SubflowInstance
- type: String
- updated: String
- updatedBy: String
- userCanRead: Boolean
- userHasRolesAssignedToFlow: Boolean

### ComplexObjectParameter  `INPUT_OBJECT`
- id: String
- label: String
- name: String
- type: String
- type_label: String
- hint: String
- order: Int
- extended: Boolean
- mandatory: Boolean
- readonly: Boolean
- maxsize: Int
- data_structure: String
- reference: String
- reference_display: String
- ref_qual: String
- choices: ~SimpleChoice
- defaultChoices: ~SimpleChoice
- choiceOption: String
- table: String
- columnName: String
- defaultValue: String
- defaultDisplayValue: String
- use_dependent: Boolean
- dependent_on: Boolean
- show_ref_finder: Boolean
- local: Boolean
- searchField: String
- attributes: String
- sys_class_name: String
- comments: String
- uiDisplayType: String
- uiDisplayTypeLabel: String
- dynamic: ~InputActionInstance
- internal_link: String
- children: ~ComplexObjectParameter
- placeholder: String
- complexObjectValue: ~InstanceValue
- scriptAsJsonString: String
- value: String
- display_value: String
- scriptActive: Boolean
- script: ~ScriptInput
- parent: String
- fieldFacetMap: String
- uiType: String
- uiTypeLabel: String

### ComponentInstance  `INPUT_OBJECT`
- id: String
- flowSysId: String
- order: String
- displayText: String
- uiUniqueIdentifier: String
- deleted: Boolean
- metadata: String
- snapshot: Boolean
- parentUiId: String
- parent: String
- domainId: String
- comment: String
- scope: String
- flowBlock: ~ComponentInstance
- copiedFrom: String
- generationSource: String
- flowVersion: String
- uiComponentIndex: Int
- type: String
- name: String
- internalName: String

### InstanceValue  `INPUT_OBJECT`
- id: String
- name: String
- displayField: String
- value: ~InstanceInputValue
- displayValue: ~InstanceInputValue
- children: ~InstanceValue
- parameter: ~FlowDesignParameter
- scriptActive: Boolean
- script: ~ScriptInput
- scriptAsJsonString: String

### InstanceInputValue  `INPUT_OBJECT`
- value: String
- schemaless: Boolean
- schemalessValue: String

### InputActionInstance  `INPUT_OBJECT`
- inputId: String
- id: String
- actionId: String
- inputs: ~FlowDesignVariable
- actionInternalName: String
- actionScope: String

### ScriptInput  `INPUT_OBJECT`
- inputName: String
- scriptActive: Boolean
- showScript: Boolean
- encodedScript: String

### TransformComposition  `INPUT_OBJECT`
- id: String
- transformType: String
- transformDefinition: String
- order: Int
- parameters: ~TransformParameters

### TransformParameters  `INPUT_OBJECT`
- id: String
- name: String
- label: String
- order: Int
- attributes: String
- value: String
- type: String
- defaultValue: String
- typeLabel: String
- mandatory: Boolean
- choices: ~SimpleChoice

### TriggerDefinition  `INPUT_OBJECT`
- id: String
- name: String
- description: String
- scope: String
- scopeName: String
- scopeLabel: String
- scopeLogo: String
- active: Boolean
- inputs: ~FlowDesignParameter
- outputs: ~FlowDesignVariable
- type: String
- category: String
- attributes: String
- order: Int

### ActionTypeDefinition  `INPUT_OBJECT`
- access: String
- action_template: String
- active: Boolean
- annotation: String
- attributes: String
- authored_version: Int
- callable_by_client_api: Boolean
- category: String
- category_order: Int
- compiler_build: String
- copied_from: String
- description: String
- displayName: String
- domainName: String
- engine_major_version: Int
- entitled: Boolean
- flow_priority: String
- id: String
- ih_action: Boolean
- inputs: ~FlowDesignParameter
- internal_name: String
- is_snapshot: Boolean
- latest_snapshot: String
- master: String
- name: String
- natlang: String
- outputs: ~FlowDesignVariable
- parent_action: String
- pharmacy: ~Pharmacy
- protection: String
- quiescence: String
- scope: String
- scopelabel: String
- scopelogo: String
- scopename: String
- scopeProtectionPolicyReadOnly: Boolean
- security: ~Security
- state: String
- system: Boolean
- type: String
- userCanRead: Boolean
- labelCacheAsJsonString: String

### FlowLogicDefinition  `INPUT_OBJECT`
- id: String
- name: String
- description: String
- connectedTo: String
- quiescence: String
- compilationClass: String
- order: Int
- inputs: ~FlowDesignParameter
- variables: String
- type: String
- visible: Boolean
- attributes: String
- userCanRead: Boolean
- category: String

### DecisionTableInformation  `INPUT_OBJECT`
- display_value: String
- decision_answers: ~DecisionAnswer
- active: Boolean

### DecisionAnswer  `INPUT_OBJECT`
- value: String
- table: String
- label: String
- multipleAnswerRecord: Boolean
- answerElementValues: ~AnswerElementValue

### AnswerElementValue  `INPUT_OBJECT`
- value: String
- table: String
- label: String
- type: String
- answerElementName: String

### GlideChoice  `INPUT_OBJECT`
- image: String
- label: String
- missing: Boolean
- parameters: String
- rawLabel: String
- reference: Boolean
- selected: Boolean
- used: Boolean
- value: String

### SimpleChoice  `INPUT_OBJECT`
- label: String
- order: Int
- value: String

### Security  `INPUT_OBJECT`
- can_read: Boolean
- can_write: Boolean
- reason: String
- valid_delegated_developer_data: Boolean
- delegated_developer_in_flow_designer: Boolean
- delegated_developer_access_scopes: String
- has_recommendations_access: Boolean
- can_cancel_execution: String

### FlowRoles  `INPUT_OBJECT`
- value: String
- displayValue: String

### LabelCache  `INPUT_OBJECT`
- name: String
- label: String
- reference: String
- reference_display: String
- type: String
- base_type: String
- parent_table_name: String
- column_name: String
- choices: ~SimpleChoice
- usedInstances: ~LabelCacheUsage
- attributes: String

### LabelCacheInput  `INPUT_OBJECT`
- insert: ~LabelCache
- update: ~LabelCache
- delete: String

### LabelCacheUsage  `INPUT_OBJECT`
- uiUniqueIdentifier: String
- inputName: String

### PharmacyInput  `INPUT_OBJECT`
- insert: ~PharmacyCompound
- update: ~PharmacyCompound
- delete: String

### Pharmacy  `INPUT_OBJECT`
- pharmacyCompound: ~PharmacyCompound

### PharmacyCompound  `INPUT_OBJECT`
- id: String
- uiId: String
- sourceUiId: String
- order: Int
- prescription: String
- transformDefinitionId: String
- compositions: ~TransformComposition
- scopeId: String
- attachedTo: String
- extraInfo: String

### AliasOverrideMappingsInput  `INPUT_OBJECT`
- insert: ~AliasOverrideMappingInput
- update: ~AliasOverrideMappingInput
- delete: String

### AliasOverrideMappingInput  `INPUT_OBJECT`
- id: String
- sourceTable: String
- sourceID: String
- sourceAlias: String
- targetAlias: String

### AliasOverrideInput  `INPUT_OBJECT`
- aliasOverrideMappings: ~AliasOverrideMappingInput

### TriggerInstanceOutput  `INPUT_OBJECT`
- id: String
- name: String
- value: String
- displayValue: String
- children: ~InstanceValue
- parameter: ~FlowDesignParameter
- displayField: String
- scriptActive: Boolean
- script: ~ScriptInput
- type: String
- order: Int
- label: String
- dependent: String