Skip to content

Developers · GraphQL

Common GraphQL Inputs

Last updated 11 November 2026

An input type is a group of values you pass into a query or mutation, such as a filter, a sort order or the fields of a new record. This page lists every input type in the Insites GraphQL schema, with the fields each one accepts.

For example, filter below takes an input type that limits the results to one database table:

query {
  records(per_page: 10, filter: { table: { value: "store_locations" } }) {
    results {
      id
    }
  }
}

ActivitiesSortInput

Code example:

input ActivitiesSortInput {
  created_at: StandardSort
  id: StandardSort
  updated_at: StandardSort
}

Fields

AddressImport

Code example:

input AddressImport {
  address: String
  address2: String
  apartment: String
  city: String
  country: String
  iso_country_code: String
  lat: Float
  lng: Float
  name: String!
  postcode: String
  service_radius: String
  state: String
  street: String
  street_number: String
  suburb: String
}

Fields

Name of the defined property.

AggregationField

Code example:

input AggregationField {
  aggregations: [AggregationField]
  customization_name: String
  field_name: String
  name: String!
  profile_type: String
  size: Int = 200
  sort: AggregationSort
  type: AggregationTypeEnum = terms
}

Fields

Sort buckets; default is by doc-count descending.

AggregationSort

Code example:

input AggregationSort {
  name: AggregationSortFieldEnum = _term
  order: AggregationSortOrderEnum = asc
}

Fields

ApiCallNotificationInputType

Code example:

input ApiCallNotificationInputType {
  callback: String
  content: String
  delay_by: String = "0"
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String!
  request_headers: HashObject
  request_type: String!
  to: String!
  trigger_condition: String = "true"
}

Fields

Liquid code which can be used to process the response from the endpoint. You have access to "response" variable.

Liquid code to evaluate to whatever you want to send as a request body, for example a JSON.

Liquid code which should evaluate to integer. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/api_calls/my_api_call_notification.

Liquid code which should evaluate to valid request type: Get, Post, Put, Patch, Delete, Head or if you want to send binary files: Post_Multipart, Put_Multipart, Patch_Multipart.

Liquid code to evaluate to valid endpoint for the request.

Liquid code which should evaluate to true if the api call should be sent.

ApiCallNotificationsFilterInput

Code example:

input ApiCallNotificationsFilterInput {
  callback: StringFilter
  content: StringFilter
  created_at: DateFilter
  delay_by: StringFilter
  headers: StringFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [ApiCallNotificationsFilterInput!]
  physical_file_path: StringFilter
  to: StringFilter
  trigger_condition: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

ApiCallNotificationsSortInput

Code example:

input ApiCallNotificationsSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

ApiCallSendOptions

Code example:

input ApiCallSendOptions {
  internal: Boolean
  skip_ssl_verification: Boolean
  timeout: Int
}

Fields

If set to true, no charge will be applied and the request will be made against the current Stack. If the instance is on a different Stack, 404 will be returned.

If set to true, SSL certificate verification will be skipped for HTTPS requests.

Read timeout of HTTP request in seconds. For calls triggered from background jobs default is 8s and max 180s. For calls triggered from web request default is 5s and max 5s.

ApiCallSendRequestInput

Input for API call request details.

input ApiCallSendRequestInput {
  body: String
  headers: HashObject
  method: String!
  url: String!
}

Fields

The body of the API call, delivered verbatim - it is not parsed as a Liquid template and may contain binary data (e.g. an encrypted Web Push payload built with the base64_decode filter).

Headers for the API call.

The HTTP method for the API call.

The URL for the API call.

AssetInput

Code example:

input AssetInput {
  cache_control: String
  file_size: Int
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String!
  url: String
}

Fields

Cache-Control header value for the asset (e.g., "max-age=315576000, public").

When true, insites-cli deploy and sync do not change this object.

Metadata hash for the attribute.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/assets/logo.png.

Optional. You can leave it out.

AssetPresignInput

Code example:

input AssetPresignInput {
  path: String!
}

Fields

AssetsSortInput

Code example:

input AssetsSortInput {
  content_type: StandardSort
  created_at: StandardSort
  file_size: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

AssetUpdateAllInput

Code example:

input AssetUpdateAllInput {
  manually_managed: Boolean
}

Fields

When true, insites-cli deploy and sync do not change this object.

AssetUpdateInput

Code example:

input AssetUpdateInput {
  cache_control: String
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String!
}

Fields

Cache-Control header value for the asset (e.g., "max-age=315576000, public").

When true, insites-cli deploy and sync do not change this object.

Metadata hash for the attribute.

Defines the file location, from which we will extract the name and move the file from old location to the new one.

AttachmentContentLengthRange

Code example:

input AttachmentContentLengthRange {
  gte: Int!
  lte: Int!
}

Fields

AttachmentsImport

Code example:

input AttachmentsImport {
  direct_path: String
  id: ID
  name: String!
  url: String
}

Fields

Direct path to file on S3.

ID will ignored.

Name of the defined property.

URL to presigned slot on S3.

AuthenticationInputType

Code example:

input AuthenticationInputType {
  raw_info: HashObject
  token: String
  token_expires_at: JSONDate
  uid: String
}

Fields

AuthorizationPoliciesFilter

Code example:

input AuthorizationPoliciesFilter {
  not_value: String
  not_value_in: [String!]
  value: String
  value_in: [String!]
}

Fields

AuthorizationPoliciesFilterInput

Code example:

input AuthorizationPoliciesFilterInput {
  content: StringFilter
  created_at: DateFilter
  flash_alert: StringFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [AuthorizationPoliciesFilterInput!]
  physical_file_path: StringFilter
  redirect_to: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

AuthorizationPoliciesSortInput

Code example:

input AuthorizationPoliciesSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

AuthorizationPolicyInputType

Code example:

input AuthorizationPolicyInputType {
  content: String!
  flash_alert: String
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String
  redirect_to: String
}

Fields

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/authorization_policies/my_policy.

BackgroundJobsFilterInput

Code example:

input BackgroundJobsFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  or: [BackgroundJobsFilterInput!]
  source_name: StringFilter
  timestamp: DateFilter
  type: BackgroundJobsTypeEnum
  updated_at: DateFilter
}

Fields

OR conditions.

It filters based on: run_at - for SCHEDULED type; retry_at - for RETRY type; dead_at - for DEAD type. It is ignored for RUNNING type.

Type of jobs to retrieve.

BackgroundJobsSortInput

Code example:

input BackgroundJobsSortInput {
  class_name: StandardSort
  created_at: StandardSort
  enqueued_at: StandardSort
  queue: StandardSort
  retry: StandardSort
  source_name: StandardSort
}

Fields

BooleanFilter

Code example:

input BooleanFilter {
  is_null: Boolean
  not_value: Boolean
  value: Boolean
}

Fields

Filter whether value was not set.

Content

Code example:

input Content {
  starts_with: String
  value: String
}

Fields

Content type should start with this value.

Content type should have this value.

ContentLength

Code example:

input ContentLength {
  gte: Int
  lte: Int!
}

Fields

Greater than or equal size in KiB.

Lower than or equal size in KiB.

ContentLengthRange

Code example:

input ContentLengthRange {
  gte: Int!
  lte: Int!
}

Fields

CustomAttributeInputType

Code example:

input CustomAttributeInputType {
  array_append: String
  array_remove: String
  decrement: Float
  increment: Float
  name: String!
  value: String
  value_array: [String]
  value_boolean: Boolean
  value_float: Float
  value_int: Int
  value_json: JSONPayload
}

Fields

Adds provided value at the end of an array property. It's secure atomic operation executed in separate transaction.

Removes provided value from an array property. It's secure atomic operation executed in separate transaction.

Decrements property value by provided value. It's secure atomic operation executed in separate transaction.

Increments property value by provided value. It's secure atomic operation executed in separate transaction.

CustomizationImport

Code example:

input CustomizationImport {
  addresses: [AddressImport!]
  attachments: [AttachmentsImport!]
  created_at: ISO8601DateTime
  id: ID
  images: [ImagesImport!]
  properties: HashObject
  type_name: String!
  updated_at: ISO8601DateTime
  user_id: ID
}

Fields

ID will be stored as external_id, relations will be preseved. We generate it when empty.

Ex. {"color": "red"}.

DataExportRecordsInput

Code example:

input DataExportRecordsInput {
  filter: RecordsFilterInput
  per_page: Int = 5000000
  sort: [RecordsSortInput!]
}

Fields

DataExportsFilterInput

Code example:

input DataExportsFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  updated_at: DateFilter
}

Fields

DataExportsSortInput

Code example:

input DataExportsSortInput {
  created_at: StandardSort
  id: StandardSort
  updated_at: StandardSort
}

Fields

DataExportUsersInput

Code example:

input DataExportUsersInput {
  filter: UsersFilterInput
  per_page: Int = 5000000
  sort: [UsersSortInput!]
}

Fields

DateFilter

Code example:

input DateFilter {
  exists: Boolean
  gt: String
  gte: String
  lt: String
  lte: String
  not_value: String
  not_value_in: [String!]
  value: String
  value_in: [String!]
}

Fields

EmailNotificationInputType

Code example:

input EmailNotificationInputType {
  attachments: String
  bcc: String
  cc: String
  content: String
  delay_by: String = "0"
  from: String
  layout: String
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String!
  reply_to: String
  subject: String!
  to: String
  trigger_condition: String = "true"
}

Fields

Json of the form { "file_name.jpg": { "url": "http://example.com/file.jpg" } } which defines email attachments. Liquid will be processed.

Liquid code to evaluate to valid, comma separated blind carbon copy list, for example "[email protected], [email protected]".

Liquid code to evaluate to valid, comma separated carbon copy list, for example "[email protected], [email protected]".

Liquid code to evaluate to valid form html. If email is triggered via form configuration, You have access to "form" variable, with data specified in configuration.

Liquid code which should evaluate to integer. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

Email address from which you would like to send the email, for example [email protected].

Name of the liquid layout to which the content should be injected.

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/emails/my_email_notification.

Email address to which users should reply, for example [email protected].

Liquid code to evaluate to text.

Liquid code to evaluate to valid, comma separated recipient list, for example "[email protected], [email protected]".

Liquid code which should evaluate to true if the email should be sent.

EmailNotificationsFilterInput

Code example:

input EmailNotificationsFilterInput {
  attachments: StringFilter
  bcc: StringFilter
  cc: StringFilter
  content: StringFilter
  created_at: DateFilter
  delay_by: StringFilter
  id: UniqIdFilter
  layout: StringFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [EmailNotificationsFilterInput!]
  physical_file_path: StringFilter
  subject: StringFilter
  to: StringFilter
  trigger_condition: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

EmailNotificationsSortInput

Code example:

input EmailNotificationsSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

EmbeddingCreateInputType

Code example:

input EmbeddingCreateInputType {
  content: String
  created_at: JSONDate
  embedding: [Float!]!
  id: ID
  metadata: HashObject
  token_count: Int
  updated_at: JSONDate
}

Fields

Vector with 1536 dimensions, compatible with openai embeddings.

EmbeddingsFilterInput

Code example:

input EmbeddingsFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

EmbeddingsSortInput

Code example:

input EmbeddingsSortInput {
  created_at: StandardSort
  embedding: VectorDistanceSort
  id: StandardSort
  updated_at: StandardSort
}

Fields

EmbeddingUpdateInputType

Code example:

input EmbeddingUpdateInputType {
  content: String
  created_at: JSONDate
  embedding: [Float!]
  id: ID
  metadata: HashObject
  token_count: Int
  updated_at: JSONDate
}

Fields

Vector with 1536 dimensions, compatible with openai embeddings.

EncryptedConstantsFilterInput

Code example:

input EncryptedConstantsFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  name: StringFilter
  updated_at: DateFilter
}

Fields

EncryptedConstantsSortInput

Code example:

input EncryptedConstantsSortInput {
  created_at: StandardSort
  id: StandardSort
  name: StandardSort
  updated_at: StandardSort
}

Fields

Endpoint

Code example:

input Endpoint {
  token: String
  url: String!
}

Fields

Authentication token.

Endpoint url.

FormInput

Code example:

input FormInput {
  async_callback_actions: String
  async_callback_delay: String = "0"
  async_callback_max_attempts: Int = 1
  async_callback_priority: AsyncCallbackPriority = default
  authorization_policy_ids: [ID!]
  callback_actions: String
  configuration: HashObject
  default_payload: String
  flash_alert: String
  flash_notice: String
  liquid_body: String
  metadata: HashObject
  physical_file_path: String!
  redirect_to: String
  resource: String!
  resource_owner: String!
  response_headers: String
  spam_protection: SpamProtectionInput
}

Fields

Same as callback, but invoked asynchronously. Recommended for performance reason.

Liquid code which should evaluate to float. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

Defines max number of retrying attempts in case of an error. Usually you do not want to change it.

Defines the invocaction priority, the higher the quicker timeout.

Ids of authorization policies which should be checked.

Liquid code to be invoked after persisting input to DB. If possible, use async callback actions instead.

Whitelist of attributes which can be persisted in the DB. On server side (callbacks, emails etc) you have access to submited values via form variable (for exapmple configuration: properties: my_var is accessible via form.properties.my_var ).

Liquid code which has to evaluate to JSON. This extends/overwrites user submitted input via form, before validation. Most useful to store in DB sensitive data which you do not want user to modify, for example context.current_user.id.

Liquid code which should evaluate to message which you want to display to user upon validation errors. Output is available via context.flash_alert.

Liquid code which should evaluate to message which you want to display to user after successful form submission. Output is available via context.flash_notice.

Liquid code to evaluate to valid form html. You have access to form_builder variable and form tag.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/forms/my_form.

Liquid code which should evaluate to valid path or url to which user should be redirected after successful form submission.

Defines who can submit the form. If set to anyone, please make sure to provide authorization_policies.

Response headers for the form.

Strategy to protect against spam attacks.

FormsFilterInput

Code example:

input FormsFilterInput {
  async_callback_actions: StringFilter
  callback_actions: StringFilter
  created_at: DateFilter
  default_payload: StringFilter
  flash_notice: StringFilter
  id: UniqIdFilter
  liquid_body: StringFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [FormsFilterInput!]
  physical_file_path: StringFilter
  redirect_to: StringFilter
  resource: StringFilter
  resource_owner: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

FormsSortInput

Code example:

input FormsSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

FullTextQueryField

Code example:

input FullTextQueryField {
  name: String
  priority: Int = 1
}

Fields

GeoBox

Code example:

input GeoBox {
  bottom: LatDegree!
  left: LngDegree!
  right: LngDegree!
  top: LatDegree!
}

Fields

GeoBoxTopLeftBottomRight

Code example:

input GeoBoxTopLeftBottomRight {
  bottom_right: GeoPoint
  top_left: GeoPoint
}

Fields

GeoBoxTopRightBottomLeft

Code example:

input GeoBoxTopRightBottomLeft {
  bottom_left: GeoPoint
  top_right: GeoPoint
}

Fields

GeoPoint

Code example:

input GeoPoint {
  lat: LatDegree!
  lng: LngDegree!
}

Fields

GeoPointInShape

Code example:

input GeoPointInShape {
  point: GeoPoint
}

Fields

GeoPolygon

Code example:

input GeoPolygon {
  points: [GeoPoint]
}

Fields

Remember to keep right order, follow GeoJSON spec.

GeoPropertyFilterInput

Code example:

input GeoPropertyFilterInput {
  center: GeometryJSON
  distance_in_km: Float
}

Fields

GeoJSON Object: of type Point, MultiPoint, LineString, Polygon. example: `{ type: "Point", coordinates: [-84.3, 39.8] }`.

Distance in km.

GeoRadius

Code example:

input GeoRadius {
  center: GeoPoint
  distance: String!
}

Fields

Ex. 1km, 100mi, 50yards, 2meters.

GeoRadiusPropertyFilterInput

Code example:

input GeoRadiusPropertyFilterInput {
  point: GeometryJSON
  radius_in_km_from_property: String
}

Fields

GeoJSON Object: of type Point, MultiPoint, LineString, Polygon. example: `{ type: "Point", coordinates: [-84.3, 39.8] }`.

Property name with value for radius distance. Property has to be of float type. Value has to be `km` unit.

GraphqlFilterInput

Code example:

input GraphqlFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [GraphqlFilterInput!]
  physical_file_path: StringFilter
  query_string: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

GraphqlInputType

Code example:

input GraphqlInputType {
  body: String!
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String!
}

Fields

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example graphql/my_query.graphql.

GraphqlSortInput

Code example:

input GraphqlSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

IdRangeFilter

Code example:

input IdRangeFilter {
  gt: ID
  gte: ID
  lt: ID
  lte: ID
}

Fields

ImagesFilterInput

Code example:

input ImagesFilterInput {
  created_at: DateFilter
  deleted_at: DateFilter
  id: UniqIdFilter
  name: StringFilter
  property_id: UniqIdFilter
  updated_at: DateFilter
  uploader_id: UniqIdFilter
}

Fields

ImagesImport

Code example:

input ImagesImport {
  direct_path: String
  id: ID
  name: String!
  url: String
}

Fields

Direct path to file on S3.

ID will ignored.

Name of the defined property.

URL to presigned slot on S3.

ImagesSortInput

Code example:

input ImagesSortInput {
  created_at: StandardSort
  deleted_at: StandardSort
  id: StandardSort
  property_id: StandardSort
  updated_at: StandardSort
  uploader_id: StandardSort
}

Fields

IndexSearchFilterInput

Code example:

input IndexSearchFilterInput {
  exists: Boolean
  name: String!
  not_value: String
  not_value_in: [String!]
  prefix: String
  range: RangeFilter
  value: String
  value_in: [String!]
  value_in_operator: OperatorEnum = OR
}

Fields

If argument is true, selects documents for which the property exists and is not null; if argument is false, selects documents for which the property doesn't exist or is null.

Name of the property.

Property specified by name should NOT have a value that is equal to the value provided.

Property specified by name should NOT include a value that is provided.

Property specified by name have a value that is prefixed with provided value.

Selects documents for which the property value is inside the given range; range options that can be given are lt (lower than), lte (lower than or equal), gt (greater than), gte (greater than or equal).

Property specified by name should have a value that is equal to the value provided.

Property specified by name should include a value that is provided.

ALL values should be included in document OR one is enough.

IndexSearchQuery

Code example:

input IndexSearchQuery {
  analyzer: String
  fields: [FullTextQueryField]
  keyword: String
  match_type: QueryMatchTypeEnum = EXACT
  operator: OperatorEnum = AND
  properties: [FullTextQueryField]
}

Fields

Keyword analyzer: english arabic etc. Depends on your search index configuration. Default: standard.

Accept wildcards, ? for single character, * for more.

IndexSearchSortInput

Code example:

input IndexSearchSortInput {
  name: String!
  order: String = "asc"
}

Fields

Sort by field.

IntegerFilter

Code example:

input IntegerFilter {
  not_value_in: [Int]
  range: IntegerRangeFilter
  value: Int
  value_in: [Int]
}

Fields

IntegerRangeFilter

Code example:

input IntegerRangeFilter {
  gt: Int
  gte: Int
  lt: Int
  lte: Int
}

Fields

JoinModelCollection

Code example:

input JoinModelCollection {
  foreign_property: PropertyName!
  join_on_property: PropertyName = "id"
  property_type: String
}

Fields

JoinRecordCollection

Code example:

input JoinRecordCollection {
  foreign_property: PropertyName!
  join_on_property: PropertyName = "id"
  property_type: String
}

Fields

JsonbAttributeFilter

Code example:

input JsonbAttributeFilter {
  array_contains: [String!]
  array_overlaps: [String!]
  array_value_in: [String!]
  contains: String
  exists: Any
  key: String!
  not_array_contains: [String!]
  not_array_overlaps: [String!]
  not_array_value_in: [String!]
  not_contains: String
  not_exists: Any
  not_value: Any
  not_value_array: [String!]
  not_value_boolean: Boolean
  not_value_float: Float
  not_value_in: [String!]
  not_value_int: Int
  value: Any
  value_array: [String!]
  value_boolean: Boolean
  value_float: Float
  value_in: [String!]
  value_int: Int
}

Fields

The target value must contain the passed array.

The value in the target array must have at least one element in common with the passed array.

The passed array must contain the target array.

The target value must not contain the passed array.

The value in the target array must not have at least one element in common with the passed array.

The passed array must not contain the target array.

The value passed must not be the exact target array in that order.

The passed array must not contain the target scalar value.

The value passed must be the exact target array in that order.

The passed array must contain the target scalar value.

JsonbFilter

Code example:

input JsonbFilter {
  attribute: JsonbAttributeFilter
  attributes: [JsonbAttributeFilter!]
  contains: String
  exclude: Boolean
  has_key: String
}

Fields

Filter by attribute key and value. Works for one level attributes.

Filter by attributes - key and value. Works for one level attribute.

Filter metadata that contains part of the text.

Exclude matched resources from results.

Filter resources that have certain key in metadata.

JsonbSort

Code example:

input JsonbSort {
  name: String!
  order: SortOrderEnum!
}

Fields

Name of the first level metadata attribute.

LiquidLayoutInputType

Code example:

input LiquidLayoutInputType {
  body: String
  format: PageFormat = html
  manually_managed: Boolean
  metadata: HashObject
  path: String!
  physical_file_path: String!
}

Fields

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/views/layouts/my_layout.

LiquidLayoutsFilterInput

Code example:

input LiquidLayoutsFilterInput {
  body: StringFilter
  created_at: DateFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  or: [LiquidLayoutsFilterInput!]
  path: StringFilter
  physical_file_path: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

LiquidLayoutsSortInput

Code example:

input LiquidLayoutsSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  path: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

LiquidPartialInputType

Code example:

input LiquidPartialInputType {
  body: String = ""
  format: PageFormat = html
  manually_managed: Boolean
  metadata: HashObject
  path: String!
  physical_file_path: String
}

Fields

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/views/partials/my_partial.

LiquidPartialsFilterInput

Code example:

input LiquidPartialsFilterInput {
  body: StringFilter
  created_at: DateFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  or: [LiquidPartialsFilterInput!]
  path: StringFilter
  physical_file_path: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

LiquidPartialsSortInput

Code example:

input LiquidPartialsSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  path: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

ListingAggregation

Code example:

input ListingAggregation {
  fields: [AggregationField]
  global: Boolean = false
  name: String
}

Fields

Name of the result.

ModelSchemaInputType

Code example:

input ModelSchemaInputType {
  metadata: HashObject
  physical_file_path: String!
  properties: [NestedPropertyInputType]
}

Fields

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/custom_model_types/my_model.

MutationAssetsFilterInput

Code example:

input MutationAssetsFilterInput {
  created_at: DateFilter
  deleted_at: DateFilter
  id: UniqIdFilter
  metadata: JsonbFilter
  name: StringFilter
  physical_file_path: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

NestedPropertyInputType

Code example:

input NestedPropertyInputType {
  _destroy: String
  attribute_type: PropertyTypeEnum = string
  belongs_to: String
  default_value: String
  id: ID
  metadata: HashObject
  name: String!
  options: PropertyUploadOptionsInput
}

Fields

Provide 1 if property you want to remove property, 0 otherwise.

Type of the property.

Defines a relationship with other model schema or the user schema. Used during importing/exporting data.

Default value for new objects.

Id of the property to update.

Name of the property.

Provides options for type upload - defines for exmple whether newly upload file should be public etc.

NotificationEmailInput

Input type for email parameters.

input NotificationEmailInput {
  bcc: [String!]
  cc: [String!]
  content: String!
  delay: Int
  from: String!
  reply_to: [String!]
  subject: String!
  to: [String!]!
}

Fields

BCC email address.

CC email address.

Email body content.

Delay in minutes before sending the email.

Sender email address.

Reply-to email address.

Email subject.

Recipient email address.

NotificationTemplateInput

Code example:

input NotificationTemplateInput {
  name: String!
}

Fields

Name of the template.

NotificationTypeFilter

Code example:

input NotificationTypeFilter {
  not_value: NotificationTypeEnum
  not_value_in: [NotificationTypeEnum!]
  value: NotificationTypeEnum
  value_in: [NotificationTypeEnum!]
}

Fields

PageFilterInput

Code example:

input PageFilterInput {
  authorization_policies: AuthorizationPoliciesFilter
  content: StringFilter
  content_updated_at: DateFilter
  created_at: DateFilter
  deleted_at: DateFilter
  format: PageFormatFilter
  id: UniqIdFilter
  layout: StringFilter
  metadata: [JsonbFilter!]
  or: [PageFilterInput!]
  physical_file_path: StringFilter
  redirect_code: IntegerFilter
  redirect_to: StringFilter
  request_method: PagesRequestMethodFilter
  searchable: BooleanFilter
  slug: StringFilter
  subdomain: StringFilter
  updated_at: DateFilter
}

Fields

Filter by authorization policies, ex. authorization_policies: { value_in: ["page_protection", "check_user"] }.

Search for text in rendered page content. Page must be marked as searchable.

Filter by format, ex. format: { value: HTML }.

Filter by metadata properties.

Join arguments with OR operator.

Request method for the page.

Filter by slug. Enter slug without leading /, ex. slug: { exact: "client/orders" }.

PageFormatFilter

Code example:

input PageFormatFilter {
  not_value: PageFormat
  not_value_in: [PageFormat!]
  value: PageFormat
  value_in: [PageFormat!]
}

Fields

PageInputType

Code example:

input PageInputType {
  authorization_policies: [String]
  authorization_policy_ids: [ID]
  content: String
  dynamic_cache_expire: Int
  dynamic_cache_key: String
  dynamic_cache_layout: Boolean = false
  format: PageFormat = html
  handler: PageHandler = liquid
  layout: String
  manually_managed: Boolean
  max_deep_level: Int = 3
  metadata: HashObject
  physical_file_path: String!
  redirect_code: PageRedifectCode
  redirect_to: String
  request_method: PageRequestMethod = get
  response_headers: HashObject
  searchable: Boolean = false
  slug: String
  static_cache_expire: Int
  subdomain: String
}

Fields

Names of authorization policies which should be checked (the same identifier used in Liquid frontmatter, e.g. "page_policy" or "modules/my_module/page_policy"). Can be used instead of (or combined with) authorization_policy_ids. All names must resolve to existing AuthorizationPolicy records.

Ids of authorization policies which should be checked.

Name of the liquid layout to which the content should be injected.

When true, insites-cli deploy and sync do not change this object.

Max nesting of the url to be resolved by this slug. For example slug "abc" with max_deep_level 2 will resolve /abc, abc/1, abc/2, but will NOT resolve abc/2/something.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/views/pages/my-page.

Defines the url at which the page will be available, for example if you want the page to be available at https://example.com/hello/world set the slug to hello/world. If blank, slug will be derived from physical_file_path, in this example set physical_file_path to views/pages/hello/world.html.liquid.

Subdomain for page.

PagesRequestMethodFilter

Code example:

input PagesRequestMethodFilter {
  not_value: PageRequestMethod
  not_value_in: [PageRequestMethod!]
  value: PageRequestMethod
  value_in: [PageRequestMethod!]
}

Fields

PagesSortInput

Code example:

input PagesSortInput {
  content_updated_at: StandardSort
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  physical_file_path: StandardSort
  redirect_code: StandardSort
  redirect_to: StandardSort
  slug: StandardSort
  updated_at: StandardSort
}

Fields

PresignUrl

Code example:

input PresignUrl {
  acl: ACL
  content_length: ContentLength
  content_type: Content
}

Fields

ACL for the uploaded file.

Size range for the uploaded file.

Content type for the uploaded file.

ProcessPageInputType

Code example:

input ProcessPageInputType {
  params: HashObject
  slug: String!
}

Fields

Parameters you would like to pass to the page to render it dynamically. They will beavailable via context.params.

Slug of the page which you would like to use as a template.

ProcessStrategyInputType

Code example:

input ProcessStrategyInputType {
  body: String
  file_name: String!
  page: ProcessPageInputType
  synchronous: Boolean = false
}

Fields

Expected content depends on strategy, however usually it is text, html, csv, json, xml etc.Alternativey you can process page via page argument.

Name of the output file.

Provided page will be rendered and its output will be used as a body. Alternatively you can pass body directly via body argument.

If you set to true and strategy requires asynchronous processing by us (like pdf generation) then the mutation will wait until the file is actually generated so you can for example attach it to an email.

ProfileFilterInput

Code example:

input ProfileFilterInput {
  name: String
  name_filter: StringFilter
  properties: [PropertyFilterInput!]
}

Fields

Name of the user profile type.

Name of the user profile type.

PropertiesFieldInput

Code example:

input PropertiesFieldInput {
  attribute_type: SelectPropertyTypeEnum!
  name: String!
}

Fields

PropertyFilterInput

Code example:

input PropertyFilterInput {
  allow_empty: Boolean
  array_contains: [String!]
  array_overlaps: [String!]
  case_sensitive: Boolean
  contains: String
  distance_sphere: GeoPropertyFilterInput
  ends_with: String
  exists: Boolean
  name: String!
  not_array_contains: [String!]
  not_array_overlaps: [String!]
  not_contains: String
  not_ends_with: String
  not_starts_with: String
  not_value: String
  not_value_array: [String!]
  not_value_boolean: Boolean
  not_value_float: Float
  not_value_in: [String!]
  not_value_int: Int
  not_within_radius: GeoRadiusPropertyFilterInput
  property_type: String
  range: RangeFilter
  starts_with: String
  value: String
  value_array: [String!]
  value_boolean: Boolean
  value_float: Float
  value_in: [String!]
  value_int: Int
  within_radius: GeoRadiusPropertyFilterInput
}

Fields

Allow empty values.

Selects records for which the property of type Array contains all of the provided elements.

Selects records for which the property of type Array contains at least one of the provided elements.

If argument is true, contains, starts_with and ends_with will be case sensitive.

Selects records where the property of type String contains the provided string as a sub-string (control case sensitivity with `case_sensitive` argument).

Select records for which a distance between its point from <:property> and <:center> point is less than <:distance>.

Selects records for which the property of type String ends with the provided argument (control case sensitivity with `case_sensitive` argument).

If argument is true, selects records for which the property exists and is not null; if argument is false, selects records for which the property doesn't exist or is null.

Name of the property.

Selects records for which the property of type Array may contain some, but not all of the provided elements.

Selects records for which the property of type Array doesn't have any element in common with the provided array of elements.

Selects records where the property of type String does not contain the provided string as a sub-string (control case sensitivity with `case_sensitive` argument).

Selects records for which the property of type String does not end with the provided argument (control case sensitivity with `case_sensitive` argument).

Selects records for which the property of type String does not start with the provided argument (control case sensitivity with `case_sensitive` argument).

Property specified by name should have a value that is different from the value provided.

Selects records for which the property of type Array is not equal to the provided value.

Property specified by name should be different from the value provided.

Property specified by name should different from the value provided.

Selects records for which the property is not included as a sub-array or is not an element of the provided Array argument.

Property specified by name should be equal different from the value provided.

Select records for which a <:point> is not within <:radius_in_km_from_property> km distance from its <:property> point.

Specifies the type of the property if it can't be determined automatically.

Selects records for which the property value is inside the given range; range options that can be given are lt (lower than), lte (lower than or equal), gt (greater than), gte (greater than or equal).

Selects records for which the property of type String starts with the provided argument (control case sensitivity with `case_sensitive` argument).

Property specified by name should have a value that is equal to the value provided.

Selects records for which the property of type Array is equal to the provided value.

Property specified by name should be equal to the value provided.

Property specified by name should be equal to the value provided.

Selects records for which the property is included as a sub-array or is an element of the provided Array argument.

Property specified by name should be equal to the value provided.

Select records for which a <:point> is within <:radius_in_km_from_property> km distance from its <:property> point.

PropertyInputType

Code example:

input PropertyInputType {
  array_append: String
  array_remove: String
  decrement: Float
  increment: Float
  name: String!
  value: String
  value_array: [String]
  value_boolean: Boolean
  value_float: Float
  value_int: Int
  value_json: JSONPayload
  value_upload: ValueUploadInput
}

Fields

Adds provided value at the end of an array property. It's secure atomic operation executed in separate transaction.

Removes provided value from an array property. It's secure atomic operation executed in separate transaction.

Decrements property value by provided value. It's secure atomic operation executed in separate transaction.

Increments property value by provided value. It's secure atomic operation executed in separate transaction.

PropertySort

Code example:

input PropertySort {
  name: String!
  order: SortOrderEnum!
}

Fields

PropertyUploadContentLengthInput

Code example:

input PropertyUploadContentLengthInput {
  gte: Int = 0
  lte: Int!
}

Fields

PropertyUploadEncryptionGPGInput

Code example:

input PropertyUploadEncryptionGPGInput {
  armor: Boolean
  key: GPGKey!
}

Fields

Create ASCII armored output. The default is to create the binary OpenPGP format.

Public key to be used to encrypt the file.

PropertyUploadEncryptionInput

Code example:

input PropertyUploadEncryptionInput {
  gpg: PropertyUploadEncryptionGPGInput
}

Fields

Encrypt using GnuPG Public Key.

PropertyUploadManipulateInput

Code example:

input PropertyUploadManipulateInput {
  blur: ImageBlur
  flatten: CssColor = "#000000"
  greyscale: Boolean = false
}

Fields

Value representing the sigma of the Gaussian mask, where sigma = 1 + radius / 2.

Color for flatten.

Convert to 8-bit greyscale; 256 shades of grey.

PropertyUploadOptionsInput

Code example:

input PropertyUploadOptionsInput {
  acl: PropertyUploadACL = public
  cache_control: String = "max-age=315576000, public"
  content_disposition: PropertyUploadContentDisposition = inline
  content_length: PropertyUploadContentLengthInput
  versions: [PropertyUploadVersionInput!]
}

Fields

File size limitation in KiB. ex. [gte: 1, lte: 1024] allows file size from 1KiB to 1 MiB.

Defines a version of the uploaded image - for example you might want to resize it for performance reason, compress etc. Max number of versions is 10.

PropertyUploadOutputInput

Code example:

input PropertyUploadOutputInput {
  format: PropertyUploadFormat
  quality: ImageQuality
}

Fields

Defines the quality of the image; used to automatically compress the image; 0 - lowest quality, 100 - highest quality. Defaults: PNG: 80, WEBP: 80, JPEG: 85, AVIF: 60.

PropertyUploadResizeInput

Code example:

input PropertyUploadResizeInput {
  background: CssColor
  fit: PropertyUploadFit = cover
  height: Int
  position: PropertyUploadPosition
  width: Int
  without_enlargement: Boolean = false
}

Fields

Background color when using a fit of containDefault: #000000.

Max height of an image. If left undefined, will depend on other parameters to determine size (like: width).

Position to use when fit is cover or contain.

Max width of an image. If left undefined, will depend on other parameters to determine size (like: height).

Do not enlarge if the width or height are already less than the specified dimensions.

PropertyUploadVersionInput

Code example:

input PropertyUploadVersionInput {
  manipulate: PropertyUploadManipulateInput
  name: String!
  output: PropertyUploadOutputInput
  resize: PropertyUploadResizeInput
}

Fields

Name of the version, for example thumb.

Query

Code example:

input Query {
  fields: [FullTextQueryField]
  keyword: String
  match_type: QueryMatchTypeEnum = EXACT
  operator: OperatorEnum = AND
  properties: [FullTextQueryField]
  raw: Boolean
}

Fields

Accept wildcards, ? for single character, * for more.

Search all fields as raw.

QueryAssetsFilterInput

Code example:

input QueryAssetsFilterInput {
  content_type: StringFilter
  created_at: DateFilter
  deleted_at: DateFilter
  file_size: RangeFilter
  id: UniqIdFilter
  manually_managed: BooleanFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [QueryAssetsFilterInput!]
  physical_file_path: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

QueryOptionsInput

Execution options for this query.

input QueryOptionsInput {
  read_replica: Boolean = false
  timeout: Int = 19
}

Fields

Execute against the read replica database when one is configured; falls back to the primary database otherwise. Routing applies to the whole operation.

Database statement timeout in seconds applied to the whole operation. Defaults to 19 seconds.

RangeFilter

Code example:

input RangeFilter {
  gt: String
  gte: String
  lt: String
  lte: String
}

Fields

RecordInputType

Code example:

input RecordInputType {
  created_at: JSONDate
  deleted_at: JSONDate
  external_id: ID
  id: ID
  properties: [PropertyInputType]
  records: [RecordsInputType]
  table: String
  updated_at: JSONDate
  user_id: ID
}

Fields

RecordsCreateInputType

Code example:

input RecordsCreateInputType {
  created_at: JSONDate
  deleted_at: JSONDate
  external_id: ID
  id: ID
  properties: PropertiesObject
  table: String
  updated_at: JSONDate
}

Fields

RecordsFilterInput

Code example:

input RecordsFilterInput {
  created_at: DateFilter
  deleted_at: DateFilter
  external_id: StringFilter
  fulltext: Query
  id: UniqIdFilter
  or: [RecordsFilterInput!]
  properties: [PropertyFilterInput!]
  related_records: [RelatedRecordsFilterInput!]
  related_users: [RelatedUsersFilterInput!]
  table: StringFilter
  table_id: UniqIdFilter
  updated_at: DateFilter
  user_id: UniqIdFilter
}

Fields

Fulltext search.

Join arguments with OR operator.

Filter by related records.

Name of the Table to which records should belong.

ID of the table to which records should belong.

RecordsInputType

Code example:

input RecordsInputType {
  table: String
  values: RecordInputType
}

Fields

RecordsSortInput

Code example:

input RecordsSortInput {
  created_at: StandardSort
  deleted_at: StandardSort
  external_id: StandardSort
  id: StandardSort
  properties: [PropertySort!]
  random_sort: Boolean
  table_id: StandardSort
  updated_at: StandardSort
}

Fields

RelatedRecordsFilterInput

Code example:

input RelatedRecordsFilterInput {
  filter: RecordsFilterInput
  join: JoinRecordCollection!
}

Fields

RelatedUsersFilterInput

Code example:

input RelatedUsersFilterInput {
  filter: UsersFilterInput
  join: JoinModelCollection
}

Fields

SentNotificationsFilterInput

Code example:

input SentNotificationsFilterInput {
  content: StringFilter
  created_at: DateFilter
  id: UniqIdFilter
  notification_id: UniqIdFilter
  notification_type: NotificationTypeFilter
  or: [SentNotificationsFilterInput!]
  updated_at: DateFilter
}

Fields

SentNotificationsSortInput

Code example:

input SentNotificationsSortInput {
  created_at: StandardSort
  id: StandardSort
  updated_at: StandardSort
}

Fields

SmsNotificationInputType

Code example:

input SmsNotificationInputType {
  content: String
  delay_by: String = "0"
  metadata: HashObject
  physical_file_path: String!
  to: String
  trigger_condition: String = "true"
}

Fields

Liquid code to evaluate to valid form html. If sms is triggered via form configuration, You have access to "form" variable, with data specified in configuration.

Liquid code which should evaluate to integer. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/smses/my_sms_notification.

Liquid code to evaluate to valid mobile number with country code, for example +1 541 754 3010. Useful filter to build valid mobile number is "$to_mobile_number".

Liquid code which should evaluate to true if the sms should be sent.

SmsNotificationsFilterInput

Code example:

input SmsNotificationsFilterInput {
  callback: StringFilter
  content: StringFilter
  created_at: DateFilter
  delay_by: StringFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [SmsNotificationsFilterInput!]
  physical_file_path: StringFilter
  to: StringFilter
  trigger_condition: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

SmsNotificationsSortInput

Code example:

input SmsNotificationsSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

SmsSendInput

Input object for sending an SMS directly.

input SmsSendInput {
  content: String!
  delay: Int = 0
  to: String!
}

Fields

The content of the SMS message.

Delay in minutes before sending the SMS.

The recipient phone number.

SortByDistance

Code example:

input SortByDistance {
  field_name: String!
  reference_point: GeoPoint!
  unit: DistanceUnit = km
}

Fields

Sort by this field, example: "geo_location".

Reference point, usually current location.

SortByFieldOrder

Code example:

input SortByFieldOrder {
  field_name: String!
  values: [String]!
}

Fields

Sort by this field, example: "id".

Sort by provided values, example: [109, 903]. Full example: If { field_name: "id", values: [109, 903] }, Object#109 will be 1st, Object#903 will be 2nd, and then the rest.

SpamProtectionInput

Code example:

input SpamProtectionInput {
  hcaptcha: HashObject
  recaptcha_v2: HashObject
  recaptcha_v3: SpamProtectionRecaptchaV3Input
}

Fields

SpamProtectionInputType

Code example:

input SpamProtectionInputType {
  recaptcha_v2: HashObject
  recaptcha_v3: SpamProtectionRecaptchaV3InputType
}

Fields

SpamProtectionRecaptchaV3Input

Code example:

input SpamProtectionRecaptchaV3Input {
  action: String!
  minimum_score: Float
}

Fields

SpamProtectionRecaptchaV3InputType

Code example:

input SpamProtectionRecaptchaV3InputType {
  action: String!
  minimum_score: Float
}

Fields

StandalonePropertyInputType

Code example:

input StandalonePropertyInputType {
  attribute_type: PropertyTypeEnum = string
  belongs_to: String
  default_value: String
  metadata: HashObject
  name: String!
  options: PropertyUploadOptionsInput
  target_id: ID
  target_type: PropertyTargetType!
}

Fields

Type of the property.

Defines a relationship with other model schema or the user schema. Used during importing/exporting data.

Default value for new objects.

Name of the property.

Provides options for type upload - defines for exmple whether newly upload file should be public etc.

Id of the schema to which this property definition belongs. For target_type User set to null.

Type of the schema to which this property definition belongs.

StandardSort

Code example:

input StandardSort {
  order: SortOrderEnum!
  order_by_values: [String!]
}

Fields

Order by specific values.

StringFilter

Code example:

input StringFilter {
  case_sensitive: Boolean
  contains: String
  ends_with: String
  not_contains: String
  not_ends_with: String
  not_starts_with: String
  not_value: String
  not_value_in: [String!]
  starts_with: String
  value: String
  value_in: [String!]
}

Fields

If argument is true, contains, starts_with and ends_with will be case sensitive.

Matches string within other string.

TableInputType

Code example:

input TableInputType {
  metadata: HashObject
  physical_file_path: String!
  properties: [NestedPropertyInputType]
}

Fields

Defines where the table definition will be available after pull; for example schema/my_model.yml.

TablesFilterInput

Code example:

input TablesFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [TablesFilterInput!]
  parameterized_name: StringFilter
  physical_file_path: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

TablesSortInput

Code example:

input TablesSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  parameterized_name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

ThirdPartyIntegrationsFilterInput

Code example:

input ThirdPartyIntegrationsFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  or: [ThirdPartyIntegrationsFilterInput!]
  type: StringFilter
  updated_at: DateFilter
}

Fields

ThirdPartyIntegrationsSortInput

Code example:

input ThirdPartyIntegrationsSortInput {
  created_at: StandardSort
  id: StandardSort
  type: StandardSort
  updated_at: StandardSort
}

Fields

TranslationInputType

Code example:

input TranslationInputType {
  key: String!
  locale: String!
  manually_managed: Boolean
  value: String!
}

Fields

For example en, de etc.

When true, insites-cli deploy and sync do not change this object.

TranslationJsonInputType

Code example:

input TranslationJsonInputType {
  key: String!
  locale: String!
  value_json: HashObject!
}

Fields

Path to the translation branch which should be set.

For example en, de etc.

Json with translation tree which should be set.

UniqIdFilter

Code example:

input UniqIdFilter {
  not_value_in: [ID!]
  range: IdRangeFilter
  value: ID
  value_in: [ID!]
}

Fields

UpdateApiCallNotificationInputType

Code example:

input UpdateApiCallNotificationInputType {
  callback: String
  content: String
  delay_by: String = "0"
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String
  request_headers: HashObject
  request_type: String
  to: String
  trigger_condition: String = "true"
}

Fields

Liquid code which can be used to process the response from the endpoint. You have access to "response" variable.

Liquid code to evaluate to whatever you want to send as a request body, for example a JSON.

Liquid code which should evaluate to integer. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/notifications/api_call_notifications/my_api_call_notification.

Liquid code which should evaluate to valid request type: Get, Post, Put, Patch, Delete, Head or if you want to send binary files: Post_Multipart, Put_Multipart, Patch_Multipart.

Liquid code to evaluate to valid endpoint for the request.

Liquid code which should evaluate to true if the api call should be sent.

UpdateAuthorizationPolicyInputType

Code example:

input UpdateAuthorizationPolicyInputType {
  content: String
  flash_alert: String
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String
  redirect_to: String
}

Fields

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/authorization_policies/my_policy.

UpdateEmailNotificationInputType

Code example:

input UpdateEmailNotificationInputType {
  attachments: String
  bcc: String
  cc: String
  content: String
  delay_by: String = "0"
  from: String
  layout: String
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String
  reply_to: String
  subject: String
  to: String
  trigger_condition: String = "true"
}

Fields

Json of the form { "file_name.jpg": { "url": "http://example.com/file.jpg" } } which defines email attachments. Liquid will be processed.

Liquid code to evaluate to valid, comma separated blind carbon copy list, for example "[email protected], [email protected]".

Liquid code to evaluate to valid, comma separated carbon copy list, for example "[email protected], [email protected]".

Liquid code to evaluate to valid form html. If email is triggered via form configuration, You have access to "form" variable, with data specified in configuration.

Liquid code which should evaluate to integer. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

Email address from which you would like to send the email, for example [email protected].

Name of the liquid layout to which the content should be injected.

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/emails/my_email_notification.

Email address to which users should reply, for example [email protected].

Liquid code to evaluate to text.

Liquid code to evaluate to valid, comma separated recipient list, for example "[email protected], [email protected]".

Liquid code which should evaluate to true if the email should be sent.

UpdateFormInput

Code example:

input UpdateFormInput {
  async_callback_actions: String
  async_callback_delay: String
  async_callback_max_attempts: Int
  async_callback_priority: AsyncCallbackPriority
  authorization_policy_ids: [ID!]
  callback_actions: String
  configuration: HashObject
  default_payload: String
  flash_alert: String
  flash_notice: String
  liquid_body: String
  metadata: HashObject
  physical_file_path: String
  redirect_to: String
  resource: String
  resource_owner: String
  response_headers: String
  spam_protection: SpamProtectionInput
}

Fields

Same as callback, but invoked asynchronously. Recommended for performance reason.

Liquid code which should evaluate to float. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

Defines max number of retrying attempts in case of an error. Usually you do not want to change it.

Defines the invocaction priority, the higher the quicker timeout.

Ids of authorization policies which should be checked.

Liquid code to be invoked after persisting input to DB. If possible, use async callback actions instead.

Whitelist of attributes which can be persisted in the DB. On server side (callbacks, emails etc) you have access to submited values via form variable (for exapmple configuration: properties: my_var is accessible via form.properties.my_var ).

Liquid code which has to evaluate to JSON. This extends/overwrites user submitted input via form, before validation. Most useful to store in DB sensitive data which you do not want user to modify, for example context.current_user.id.

Liquid code which should evaluate to message which you want to display to user upon validation errors. Output is available via context.flash_alert.

Liquid code which should evaluate to message which you want to display to user after successful form submission. Output is available via context.flash_notice.

Liquid code to evaluate to valid form html. You have access to form_builder variable and form tag.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/forms/my_form.

Liquid code which should evaluate to valid path or url to which user should be redirected after successful form submission.

Defines who can submit the form. If set to anyone, please make sure to provide authorization_policies.

Response headers for the form.

Strategy to protect against spam attacks.

UpdateGraphqlInputType

Code example:

input UpdateGraphqlInputType {
  body: String
  metadata: HashObject
  path: String
  physical_file_path: String
}

Fields

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/views/partials/my_partial.

UpdateLiquidLayoutInputType

Code example:

input UpdateLiquidLayoutInputType {
  body: String
  format: PageFormat = html
  manually_managed: Boolean
  metadata: HashObject
  path: String
  physical_file_path: String
}

Fields

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/views/layouts/my_layout.

UpdateLiquidPartialInputType

Code example:

input UpdateLiquidPartialInputType {
  body: String
  format: PageFormat = html
  manually_managed: Boolean
  metadata: HashObject
  path: String
  physical_file_path: String
}

Fields

When true, insites-cli deploy and sync do not change this object.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/views/partials/my_partial.

UpdateModelSchemaInputType

Code example:

input UpdateModelSchemaInputType {
  metadata: HashObject
  physical_file_path: String
  properties: [NestedPropertyInputType]
}

Fields

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/custom_model_types/my_model.

UpdatePageInputType

Code example:

input UpdatePageInputType {
  authorization_policies: [String]
  authorization_policy_ids: [ID]
  content: String
  deleted_at: JSONDate
  dynamic_cache_expire: Int
  dynamic_cache_key: String
  dynamic_cache_layout: Boolean
  format: PageFormat
  handler: PageHandler
  layout: String
  manually_managed: Boolean
  max_deep_level: Int
  metadata: HashObject
  physical_file_path: String
  redirect_code: PageRedifectCode
  redirect_to: String
  request_method: PageRequestMethod
  response_headers: HashObject
  searchable: Boolean
  slug: String
  static_cache_expire: Int
  subdomain: String
}

Fields

Names of authorization policies which should be checked (the same identifier used in Liquid frontmatter, e.g. "page_policy" or "modules/my_module/page_policy"). Can be used instead of (or combined with) authorization_policy_ids. All names must resolve to existing AuthorizationPolicy records.

Ids of authorization policies which should be checked.

Name of the liquid layout to which the content should be injected.

When true, insites-cli deploy and sync do not change this object.

Max nesting of the url to be resolved by this slug. For example slug "abc" with max_deep_level 2 will resolve /abc, abc/1, abc/2, but will NOT resolve abc/2/something.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/views/pages/my-page.

Slug will not be automatically if you modify physical_file_path, as this operation is dangerous. After changing the slug you might want to ensure the SEO will not be hurt by creeating Page with the old slug and setting the redirect_to property to the new path.

Subdomain for page.

UpdateSmsNotificationInputType

Code example:

input UpdateSmsNotificationInputType {
  content: String
  delay_by: String = "0"
  metadata: HashObject
  physical_file_path: String
  to: String
  trigger_condition: String = "true"
}

Fields

Liquid code to evaluate to valid form html. If sms is triggered via form configuration, You have access to "form" variable, with data specified in configuration.

Liquid code which should evaluate to integer. Delays invoking the job by specified number of minutes. Useful to invoke code at certain point in time, for example 1 hour before something etc. To calculate proper number you can use time_diff filter.

Defines where the file definition will be available after pull; should start with the module name follow by private/public scope, for example manual/public/smses/my_sms_notification.

Liquid code to evaluate to valid mobile number with country code, for example +1 541 754 3010. Useful filter to build valid mobile number is "$to_mobile_number".

Liquid code which should evaluate to true if the sms should be sent.

UpdateStandalonePropertyInputType

Code example:

input UpdateStandalonePropertyInputType {
  attribute_type: PropertyTypeEnum
  belongs_to: String
  default_value: String
  metadata: HashObject
  name: String
  options: PropertyUploadOptionsInput
  target_id: ID
  target_type: PropertyTargetType
}

Fields

Type of the property.

Defines a relationship with other model schema or the user schema. Used during importing/exporting data.

Default value for new objects.

Name of the property.

Provides options for type upload - defines for exmple whether newly upload file should be public etc.

Id of the schema to which this property definition belongs. For target_type User set to null.

Type of the schema to which this property definition belongs.

UpdateTableInputType

Code example:

input UpdateTableInputType {
  metadata: HashObject
  physical_file_path: String
  properties: [NestedPropertyInputType]
}

Fields

Defines where the table definition will be available after pull; for example schema/my_model.yml.

UserImport

Code example:

input UserImport {
  created_at: JSONDate
  email: String!
  encrypted_password: String
  external_id: ID
  first_name: String
  id: ID
  last_name: String
  middle_name: String
  name: String
  password: String
  properties: HashObject
  slug: String!
  updated_at: JSONDate
}

Fields

ID will be stored as external_id, relations will be preseved. We generate it when empty.

Ex. {"color": "red"}.

UserInputType

Code example:

input UserInputType {
  authentications: [AuthenticationInputType]
  deleted_at: JSONDate
  email: String
  external_id: ID
  first_name: String
  last_name: String
  middle_name: String
  name: String
  password: String
  properties: [CustomAttributeInputType]
  slug: String
}

Fields

UserProfileSchemasFilterInput

Code example:

input UserProfileSchemasFilterInput {
  created_at: DateFilter
  id: UniqIdFilter
  metadata: [JsonbFilter!]
  name: StringFilter
  or: [UserProfileSchemasFilterInput!]
  parameterized_name: StringFilter
  physical_file_path: StringFilter
  updated_at: DateFilter
}

Fields

Filter by metadata properties.

UserProfileSchemasSortInput

Code example:

input UserProfileSchemasSortInput {
  created_at: StandardSort
  id: StandardSort
  metadata: [JsonbSort!]
  name: StandardSort
  parameterized_name: StandardSort
  physical_file_path: StandardSort
  updated_at: StandardSort
}

Fields

UsersFilterInput

Code example:

input UsersFilterInput {
  created_at: DateFilter
  deleted_at: DateFilter
  email: StringFilter
  external_id: UniqIdFilter
  first_name: StringFilter
  id: UniqIdFilter
  last_name: StringFilter
  name: StringFilter
  or: [UsersFilterInput!]
  profiles: [ProfileFilterInput!]
  properties: [PropertyFilterInput!]
  related_records: [RelatedRecordsFilterInput!]
  related_users: [RelatedUsersFilterInput!]
  slug: StringFilter
  updated_at: DateFilter
}

Fields

Join arguments with OR operator.

Filter by related records.

UsersSortInput

Code example:

input UsersSortInput {
  created_at: StandardSort
  deleted_at: StandardSort
  email: StandardSort
  external_id: StandardSort
  first_name: StandardSort
  id: StandardSort
  last_name: StandardSort
  name: StandardSort
  profile_properties: [PropertySort!]
  properties: [PropertySort!]
  slug: StandardSort
  updated_at: StandardSort
}

Fields

ValueUploadInput

Represents data for an upload.

input ValueUploadInput {
  acl: PropertyUploadACL = private
  cache_control: String
  content: String
  content_disposition: String
  content_type: String
  encryption: PropertyUploadEncryptionInput
  file_path: String
  remote_url: String
  synchronous: Boolean = false
  type: ValueUploadInputTypeEnum!
}

Fields

Whether the file will be private or not - default private.

Cache-Control header for the file.

Data for the upload, required unless is url provided.

Content-Disposition header for the file, for example "attachment; filename=foo.bar;".

Content-Type header for the file, for example "text/csv; charset=UTF-8".

Encrypt the content.

Files will be stored in <table name>/<property name>/<file_path>. If you do not provide file_path, then we will use <uuid>/<property_name>. If you override this, BE CAREFUL TO NOT OVERRIDE YOUR OWN FILES AND GENERATE UNIQUE PATH PER RECORD.

Url to external file, which will be downloaded and uploaded to file_path, required unless content is provided. Will take precedence over content argument.

Generate file synchronously.

Type of the upload. If set to image, versions will be automatically fetched based on the property configuration.

VectorDistanceSort

Code example:

input VectorDistanceSort {
  embedding: [Float!]
  order: VectorDistanceEnum!
}

Fields

VersionFilterInput

Code example:

input VersionFilterInput {
  created_at: DateFilter
  event: StringFilter
  id: UniqIdFilter
  item_id: UniqIdFilter
  item_type: StringFilter
  or: [VersionFilterInput!]
  updated_at: DateFilter
  whodunnit: StringFilter
}

Fields

VersionManipulateInput

Code example:

input VersionManipulateInput {
  blur: ImageBlur
  flatten: CssColor = "#000000"
  greyscale: Boolean = false
}

Fields

Value representing the sigma of the Gaussian mask, where sigma = 1 + radius / 2.

Color for flatten.

Convert to 8-bit greyscale; 256 shades of grey.

VersionOutputInput

Code example:

input VersionOutputInput {
  quality: ImageQuality
}

Fields

Defines the quality of the image; used to automatically compress the image; 0 - lowest quality, 100 - highest quality. Defaults: PNG: 80, WEBP: 80, JPEG: 85.

VersionResizeInput

Code example:

input VersionResizeInput {
  background: CssColor
  fit: ImageResizeFit = cover
  height: Int
  position: ImageResizePosition
  width: Int
  without_enlargement: Boolean = false
}

Fields

Background color when using a fit of containDefault: #000000.

Max height of an image. If left undefined, will depend on other parameters to determine size (like: width).

Position to use when fit is cover or contain.

Max width of an image. If left undefined, will depend on other parameters to determine size (like: height).

Do not enlarge if the width or height are already less than the specified dimensions.

VersionSortInput

Code example:

input VersionSortInput {
  created_at: StandardSort
  event: StandardSort
  id: StandardSort
  item_id: StandardSort
  item_type: StandardSort
  updated_at: StandardSort
  whodunnit: StandardSort
}

Fields