Skip to content

Developers · GraphQL

Common GraphQL Objects

Last updated 5 November 2026

Objects are the types that queries and mutations return. Each object has a set of fields that you can ask for in a query. Use this page as a reference for the object types in the Insites GraphQL schema.

ActivityStreamsActivity

Code example:

type ActivityStreamsActivity {
  id: ID!
  payload: ActivityStreamsPayload
  uuid: String!
}

Fields

ActivityStreamsFeed

Code example:

type ActivityStreamsFeed {
  ids: [ID!]
  name: String
}

Fields

ActivityStreamsHandler

Code example:

type ActivityStreamsHandler {
  filter: ActivityStreamsPayload
  id: ID!
  name: String
  targets: ActivityStreamsPayload
}

Fields

Aggregations

Code example:

type Aggregations {
  compact: JSONPayload
  raw: JSONPayload
}

Fields

ApiCallNotification

ApiCall Notification.

type ApiCallNotification {
  callback: String
  content: String
  created_at: JSONDate!
  delay_by: String
  headers: String
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String
  request_type: String!
  to: String!
  trigger_condition: String
  updated_at: JSONDate!
}

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, 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.

Liquid code to evaluate to valid json of request headers.

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

Name of the api call, which is used in form_configurations or mutation to trigger it.

Defines the physical path of the file.

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.

ApiCallNotificationCollection

Code example:

type ApiCallNotificationCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [ApiCallNotification!]
  total_entries: Int!
  total_pages: Int!
}

Fields

ApiCallSendPayload

Autogenerated return type of ApiCallSend.

type ApiCallSendPayload {
  response: Response
}

Fields

Asset

Code example:

type Asset {
  content_type: String
  created_at: JSONDate!
  deleted_at: JSONDate
  file_size: Int
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String
  updated_at: JSONDate!
  url: String!
}

Fields

File content type.

File size.

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

Name of the asset.

Defines the physical path of the file.

Url to the file.

AssetCollection

Code example:

type AssetCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [Asset!]
  total_entries: Int!
  total_pages: Int!
}

Fields

AssetsCreateMutationPayload

Autogenerated return type of AssetsCreateMutation.

type AssetsCreateMutationPayload {
  assets: [Asset!]!
}

Fields

AssetsListing

Code example:

type AssetsListing {
  created_at: JSONDate!
  id: ID
  private_assets_url: String
  public_assets_url: String
  status: String
}

Fields

ID of the assets listing object.

AssetsListingIdentifier

Code example:

type AssetsListingIdentifier {
  created_at: JSONDate!
  id: ID!
}

Fields

ID of the assets listing create job which can be queried.

AssetsPresignUrlsMutationPayload

Autogenerated return type of AssetsPresignUrlsMutation.

type AssetsPresignUrlsMutationPayload {
  urls: [PresignedUrl!]!
}

Fields

Authenticate

Code example:

type Authenticate {
  jwt(algorithm: JwtAlgorithm = HS256, token: String!): Boolean!
  otp_code(code: String!, drift: Int): Boolean!
  password(password: String!): Boolean!
  temporary_token(token: String!): Boolean!
}

Fields

Returns true if the provided JWT is valid for the given user and has not expired yet.

Validates otp_code.

OTP code sent to user.

Allowed TOTP time drift between client and server.

Plain text password which will be matched against stored encrypted_password. Returns true if password matches.

Returns true if the provided temporary_token is valid for the given user and has not expired yet.

AuthorizationPolicy

Authorization Policy is used to restrict access to pages and forms.

type AuthorizationPolicy {
  authorization_policy_associations: [AuthorizationPolicyAssociation!]
  content: String!
  created_at: JSONDate!
  flash_alert: String
  http_status: Int
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String
  redirect_to: String
  updated_at: JSONDate!
}

Fields

Use this status code when authorization fails; usually 404 or 403.

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

Defines the physical path of the file.

AuthorizationPolicyAssociation

Code example:

type AuthorizationPolicyAssociation {
  authorizable_id: ID!
  authorizable_type: String!
  authorization_policy_id: ID!
  created_at: JSONDate!
  id: ID!
  updated_at: JSONDate!
}

Fields

Id of the admin resource.

Type of the admin resource - Page or Form.

Id of the authorization policy.

AuthorizationPolicyCollection

Code example:

type AuthorizationPolicyCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [AuthorizationPolicy!]
  total_entries: Int!
  total_pages: Int!
}

Fields

BackgroundJob

Background Job.

type BackgroundJob {
  arguments: JSONPayload
  attempts: Int
  created_at: JSONDate!
  dead_at: JSONDate
  error_class: String
  error_message: String
  failed_at: JSONDate
  id: ID!
  liquid_body: JSONPayload
  partial_name: String
  queue: String!
  retry_at: JSONDate
  run_at: JSONDate
  source_name: String
  started_at: JSONDate
}

Fields

How many times the job was tried to be processed. By default the job is not retried on error.

When job has been considered as dead.

Class of an error which made the job fail.

Error which made the job fail.

When job failed.

Liquid partial name path that will be executed.

Which queue is used to process the job.

When job will retry to run.

When job is scheduled to run.

When job started to be processed.

BackgroundJobCollection

Code example:

type BackgroundJobCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [BackgroundJob!]
  total_entries: Int!
  total_pages: Int!
}

Fields

BackgroundJobsResult

Background Jobs Result.

type BackgroundJobsResult {
  results: [BackgroundJob!]!
}

Fields

BaseError

Base error message.

type BaseError {
  message: String!
}

Fields

A description of the error.

DataExport

Code example:

type DataExport {
  created_at: JSONDate!
  id: ID
  status: String
  updated_at: JSONDate!
  url: String
}

Fields

ID of the export task, which can be queried. When it is done, the task includes the URL of the zip file.

DataExportCollection

Code example:

type DataExportCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [DataExport!]
  total_entries: Int!
  total_pages: Int!
}

Fields

Document

Code example:

type Document {
  id: ID
  properties(select: [PropertiesFieldInput!]): HashObject
  property(name: String!): String
  property_array(name: String!): [String!]
  property_boolean(name: String!): Boolean
  property_float(name: String!): Float
  property_int(name: String!): Int
  property_json(name: String!): JSONPayload
  property_object(name: String!): HashObject
}

Fields

ID of an object.

List of all properties assigned to the object.

Fetch any property by name and return value as a String; ex: hair_color: property(name: "hair_color").

Fetch any property by name and return value as an Array of Strings. ex: todo_list: property_array(name: "todo_list").

Fetch any property by name and return value as a Boolean; ex: price: property_boolean(name: "enabled").

Fetch any property by name and return value as a Float; ex: price: property_float(name: "price").

Fetch any property by name and return value as an Integer; ex: age: property_int(name: "age").

Fetch any property by name and return value as a JSON string.

Fetch any property by name, parse it as a JSON and return object.

EmailNotification

Email Notification.

type EmailNotification {
  attachments: String
  bcc: String
  cc: String
  content: String
  created_at: JSONDate!
  delay_by: String
  from: String
  id: ID!
  layout: String
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String
  reply_to: String
  subject: String
  to: String
  trigger_condition: String
  updated_at: JSONDate!
}

Fields

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

Comma separated blind carbon copy list. Liquid allowed. For example "[email protected], [email protected]".

Comma separated carbon copy list. Liquid allowed. 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 the 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.

Name of the email, which is used in form_configurations or mutation to trigger it.

Defines the physical path of the file.

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

Liquid code to evaluate to text.

Comma separated recipient list. Liquid allowed. For example: "[email protected], [email protected]".

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

EmailNotificationCollection

Code example:

type EmailNotificationCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [EmailNotification!]
  total_entries: Int!
  total_pages: Int!
}

Fields

Embedding

Code example:

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

Fields

Original text that was converted to embedding.

Timestamp of when the record was created, automatically generated by the system.

Vector with 1536 dimensions, compatible with openai embeddings.

Tokens.

Timestamp of when the record was updated, automatically generated by the system.

EmbeddingCollection

Code example:

type EmbeddingCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [Embedding!]
  total_entries: Int!
  total_pages: Int!
}

Fields

EncryptedConstant

Code example:

type EncryptedConstant {
  created_at: JSONDate!
  deleted_at: JSONDate
  name: String!
  updated_at: JSONDate!
  value: String!
}

Fields

Name of the constant.

Decrypted value of a constant.

EncryptedConstantCollection

Code example:

type EncryptedConstantCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [EncryptedConstant!]
  total_entries: Int!
  total_pages: Int!
}

Fields

FormSubmitPayload

Autogenerated return type of FormSubmit.

type FormSubmitPayload {
  result: Result
  validation_errors: HashObject
}

Fields

Includes one of model or user, depending on which form was submitted.

Validation error messages based on form fields.

GeoPointType

Code example:

type GeoPointType {
  lat: Float
  lon: Float
}

Fields

GraphQL

Graphql query or mutation.

type GraphQL {
  body: String
  created_at: JSONDate!
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  physical_file_path: String
  updated_at: JSONDate!
}

Fields

Graphql query string.

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

Defines the physical path of the file.

GraphQuery

Code example:

type GraphQuery {
  created_at: JSONDate!
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String
  query_string: String!
  updated_at: JSONDate!
}

Fields

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

Name of the graph query.

Defines the physical path of the file.

The query.

GraphQueryCollection

Code example:

type GraphQueryCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [GraphQuery!]
  total_entries: Int!
  total_pages: Int!
}

Fields

ImagePresignedUploadUrl

Code example:

type ImagePresignedUploadUrl {
  upload_url: String!
  upload_url_payload: HashObject!
}

Fields

Direct s3 upload endpoint to which you can upload files. Make sure you include upload_url_payload with the request.

Payload you need to provide for upload_url.

ImportCustomizationsMutationPayload

Autogenerated return type of ImportCustomizationsMutation.

type ImportCustomizationsMutationPayload {
  external_ids: [ID!]!
  ids: [ID!]!
}

Fields

ImportUsersMutationPayload

Autogenerated return type of ImportUsersMutation.

type ImportUsersMutationPayload {
  external_ids: [ID!]!
  ids: [ID!]!
}

Fields

IndexSearchCollection

Code example:

type IndexSearchCollection {
  aggregations: Aggregations!
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [Document!]
  total_entries: Int!
  total_pages: Int!
}

Fields

Instance

Returns information about the current instance.

type Instance {
  created_at: JSONDate!
  feature_flags: HashObject!
  id: ID!
  name: String!
  updated_at: JSONDate!
}

Fields

Lists all feature flags defined in app/config.yml.

InstanceMetrics

Code example:

type InstanceMetrics {
  activities_total: Int!
  addresses_total: Int!
  attachments_total: Int!
  images_total: Int!
  records_total: Int!
  transactables_total: Int!
  user_profiles_total: Int!
  users_total: Int!
}

Fields

Number of activities.

Number of addresses.

Number of attachments.

Number of images.

Number of records.

Number of transactables.

Number of user profiles.

Number of users.

LiquidLayout

Liquid Layouts.

type LiquidLayout {
  body: String
  created_at: JSONDate!
  format: PageFormat
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  path: String!
  physical_file_path: String
  updated_at: JSONDate!
}

Fields

Liquid code to evaluate to valid html. To inject content of the resources using the layout use {{ content_for_layout }}.

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

Defines the the path for layout, must starts with layouts/, for example layouts/my_layout. Please note that the layouts/ prefix must be skipped when setting layout in Page or EmailNotification.

Defines the physical path of the file.

LiquidLayoutCollection

Code example:

type LiquidLayoutCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [LiquidLayout!]
  total_entries: Int!
  total_pages: Int!
}

Fields

LiquidPartial

Liquid Partials.

type LiquidPartial {
  body: String
  created_at: JSONDate!
  format: PageFormat
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  path: String!
  physical_file_path: String
  updated_at: JSONDate!
}

Fields

Liquid code to evaluate to valid html.

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

Defines the name of the partial to be used with include tag.

Defines the physical path of the file.

LiquidPartialCollection

Code example:

type LiquidPartialCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [LiquidPartial!]
  total_entries: Int!
  total_pages: Int!
}

Fields

NotificationSendEmailPayload

Autogenerated return type of NotificationSendEmail.

type NotificationSendEmailPayload {
  is_scheduled_to_send: Boolean!
}

Fields

ObjectCount

Code example:

type ObjectCount {
  count: Int!
}

Fields

ObjectUpload

Code example:

type ObjectUpload {
  errors: [String!]
  job_id: String
  upload_object_id: ID!
  upload_object_type: String!
  uploads: JSONPayload
}

Fields

Otp

Code example:

type Otp {
  current_code: String!
  secret: String!
  secret_as_svg_qr_code(issuer: String, label: String): String!
}

Fields

SVG from QRcode.

Page

Page.

type Page {
  authorization_policies: [AuthorizationPolicy!]
  content: String
  content_updated_at: JSONDate!
  created_at: JSONDate!
  deleted_at: JSONDate
  dynamic_cache_expire: Int
  dynamic_cache_key: String
  dynamic_cache_layout: Boolean
  format: PageFormat
  handler: PageHandler
  html_content: String
  id: ID!
  layout: String
  manually_managed: Boolean
  max_deep_level: Int
  metadata: HashObject
  physical_file_path: String
  redirect_code: Int
  redirect_to: String
  request_method: PageRequestMethod
  response_headers: HashObject
  searchable: Boolean
  slug: String!
  static_cache_expire: Int
  subdomain: String
  updated_at: JSONDate!
}

Fields

Associated authorization policies.

Content provider by the develop, can be markdown, can be html with liquid etc.

Specfic timestamp of when the content was updated last time, useful for cache.

The number of seconds for which this page will be cached; set dynamic_cache_layout accordingly to your scenario. Triggers authorization. Use only if cache_key cannot be easily determined (for example for search results page).

Liquid which evaluates to the cache key, for example {{ context.page.slug }}/{{ context.params.slug2 }}for page with slug "abc" will cache separately /abc/1 and /abc/2, however abc/1/1 will return the same value as abc/1/2. If left blank, the full url will be used.

Defines whether layout should be cached as well, or only page. Usually it is not possible to cache layout due to dynamic data in it, like name of a logged in user, hence default is false.

Evaluated html content, especially useful if content was provided as markdown.

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 the physical path of the file.

The number of seconds for which this page will be cached as a static html page; works only for not logged in users, skips any authorization.

PageCollection

Code example:

type PageCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [Page!]
  total_entries: Int!
  total_pages: Int!
}

Fields

PresignedUploadUrl

Code example:

type PresignedUploadUrl {
  upload_url: String!
  upload_url_payload: HashObject!
}

Fields

Direct s3 upload endpoint to which you can upload files. Make sure you include upload_url_payload with the request.

Payload you need to provide for upload_url.

PresignedUrl

Code example:

type PresignedUrl {
  access_url: String!
  path: String!
  upload_url: String!
}

Fields

URL to CDN with your file. Will be available once you upload file.

Presigned URL where you should upload file.

Profile

A profile.

type Profile {
  deleted_at: JSONDate
  id: ID
  profile_type: String!
  properties(select: [PropertiesFieldInput!]): HashObject
  property(name: String!): String
  property_array(name: String!): [String!]
  property_boolean(name: String!): Boolean
  property_float(name: String!): Float
  property_int(name: String!): Int
  property_json(name: String!): JSONPayload
  property_object(name: String!): HashObject
  property_upload(expires_in: Int, name: String!): PropertyUpload
  related_record(
    filter: RecordsFilterInput
    foreign_property: String = "id"
    join_on_property: String!
    sort: [RecordsSortInput!]
    table: [String]!
  ): Record
  related_records(
    filter: RecordsFilterInput
    foreign_property: String!
    join_on_property: String!
    limit: Int
    sort: [RecordsSortInput!]
    table: [String]!
  ): [Record!]
  related_user(
    filter: ModelsFilterInput
    foreign_property: String = "id"
    join_on_property: String = "user_id"
    sort: [UsersSortInput!]
  ): User
  related_users(
    filter: ModelsFilterInput
    foreign_property: String!
    join_on_property: String!
    limit: Int
    sort: [UsersSortInput!]
  ): [User!]
  remote_records(endpoint: Endpoint!, join_on_property: String!): [Record!]
  remote_users(endpoint: Endpoint!, join_on_property: String!): [User!]
}

Fields

Timestamp of when the record was soft delete, populated by delete action. It is also possible to manually set it via update. To undelete change it back to empty value, but please note that associated records would need to be manually undeleted as well.

ID of an object.

List of all properties assigned to the object.

Fetch any property by name and return value as a String; ex: hair_color: property(name: "hair_color").

Fetch any property by name and return value as an Array of Strings. ex: todo_list: property_array(name: "todo_list").

Fetch any property by name and return value as a Boolean; ex: price: property_boolean(name: "enabled").

Fetch any property by name and return value as a Float; ex: price: property_float(name: "price").

Fetch any property by name and return value as an Integer; ex: age: property_int(name: "age").

Fetch any property by name and return value as a JSON string.

Fetch any property by name, parse it as a JSON and return object.

Fetch any property by name and returns upload details.

Defines the number of seconds for which the generated url will be accessible. Must be set if acl was set to private.

Defines has-one relation with other record; ex: children: records(table: "child" join_on_property: "parent_id" foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Joins record with record-schema-name == table.

Defines has-many relation with other records; ex: children: related_records(table: "children", join_on_property: "parent_id", foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Define table name which should be used as a source for related records.

Defines relation with other user; ex: invited_by: related_user(join_on_property: "invited_by_id") { id }.

Load resources with foreign_property == join_on_property.

Defines has-many relation with other user; ex: children: users(join_on_property: "parent_id", foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Defines relation object accessible over HTTP in JSON collection identified by its ID.

Endpoint that will return resources for given ids in json format.

Load remote resource with id == join_on_property.

Defines relation object accessible over HTTP in JSON collection identified by its ID.

Endpoint that will return resources for given ids in json format.

Load remote resource with id == join_on_property.

Property

Property definition.

type Property {
  attribute_type: PropertyTypeEnum!
  belongs_to: String
  created_at: JSONDate!
  default_value: String
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  options: HashObject
  physical_file_path: String
  target_id: ID!
  target_type: String!
  updated_at: JSONDate!
}

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.

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

Name of the property.

Options, used only by type upload.

Defines the physical path of the file.

Id of the schema to which this property definition belongs.

Type of the schema to which this property definition belongs.

PropertyUpload

Code example:

type PropertyUpload {
  extension: String
  file_name: String
  url: String
  versions(names: [String!]): HashObject
}

Fields

Extension extracted from the url, downcased; for example jpg, pdf etc.

File name extracted from the url.

Url pointing to the file in CDN.

Hash where key is a version name and value is the url to the cdn; populated if the upload file is an image and versions were specified.

Specified only those versions which you want to be returned.

PropertyUploadPresignedUrl

Code example:

type PropertyUploadPresignedUrl {
  upload_url: String
  upload_url_payload: HashObject
}

Fields

Direct s3 upload endpoint to which you can upload files. Make sure you include upload_url_payload with the request.

Payload you need to provide for upload_url.

Record

Code example:

type Record {
  created_at: JSONDate!
  deleted_at: JSONDate
  external_id: ID
  id: ID
  properties(select: [PropertiesFieldInput!]): HashObject
  property(name: String!): String
  property_array(name: String!): [String!]
  property_boolean(name: String!): Boolean
  property_float(name: String!): Float
  property_int(name: String!): Int
  property_json(name: String!): JSONPayload
  property_object(name: String!): HashObject
  property_upload(expires_in: Int, name: String!): PropertyUpload
  related_record(
    filter: RecordsFilterInput
    foreign_property: String = "id"
    join_on_property: String!
    sort: [RecordsSortInput!]
    table: [String]!
  ): Record
  related_records(
    filter: RecordsFilterInput
    foreign_property: String!
    join_on_property: String!
    limit: Int
    sort: [RecordsSortInput!]
    table: [String]!
  ): [Record!]
  related_user(
    filter: UsersFilterInput
    foreign_property: String = "id"
    join_on_property: String = "user_id"
    sort: [UsersSortInput!]
  ): User
  related_users(
    filter: UsersFilterInput
    foreign_property: String!
    join_on_property: String!
    limit: Int
    sort: [UsersSortInput!]
  ): [User!]
  remote_records(endpoint: Endpoint!, join_on_property: String!): [Record!]
  remote_users(endpoint: Endpoint!, join_on_property: String!): [User!]
  table: String
  table_id: ID!
  updated_at: JSONDate!
  user_id: ID
}

Fields

Timestamp of when the record was created, automatically generated by the system.

Timestamp of when the record was soft delete, populated by delete action. It is also possible to manually set it via update. To undelete change it back to empty value, but please note that associated records would need to be manually undeleted as well.

Used mainly for import/export, if you want to use third party service as a source of truth.

ID of an object.

List of all properties assigned to the object.

Fetch any property by name and return value as a String; ex: hair_color: property(name: "hair_color").

Fetch any property by name and return value as an Array of Strings. ex: todo_list: property_array(name: "todo_list").

Fetch any property by name and return value as a Boolean; ex: price: property_boolean(name: "enabled").

Fetch any property by name and return value as a Float; ex: price: property_float(name: "price").

Fetch any property by name and return value as an Integer; ex: age: property_int(name: "age").

Fetch any property by name and return value as a JSON string.

Fetch any property by name, parse it as a JSON and return object.

Fetch any property by name and returns upload details.

Defines the number of seconds for which the generated url will be accessible. Must be set if acl was set to private.

Defines has-one relation with other record; ex: children: records(table: "child" join_on_property: "parent_id" foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Joins record with record-schema-name == table.

Defines has-many relation with other records; ex: children: related_records(table: "children", join_on_property: "parent_id", foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Define table name which should be used as a source for related records.

Defines relation with other user; ex: invited_by: related_user(join_on_property: "invited_by_id") { id }.

Load resources with foreign_property == join_on_property.

Defines has-many relation with other user; ex: children: users(join_on_property: "parent_id", foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Defines relation object accessible over HTTP in JSON collection identified by its ID.

Endpoint that will return resources for given ids in json format.

Load remote resource with id == join_on_property.

Defines relation object accessible over HTTP in JSON collection identified by its ID.

Endpoint that will return resources for given ids in json format.

Load remote resource with id == join_on_property.

Name of the Table to which it belongs.

ID of the Table to which it belongs.

Timestamp of when the record was updated, automatically generated by the system.

Id of the User who created and owns the Record.

RecordCollection

Code example:

type RecordCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [Record!]
  total_entries: Int!
  total_pages: Int!
}

Fields

RecordCreate

Code example:

type RecordCreate {
  id: ID!
  table: String!
}

Fields

Name of the Table to which it belongs.

Response

Code example:

type Response {
  body: String
  headers: HashObject
  status: Int!
}

Fields

Hash of headers returned by the server.

Standard HTTP status code.

Result

Code example:

type Result {
  changes: HashObject
  user: User
}

Fields

Hash with calculated difference of what has changed.

Updated user, assuming submited form was for resource User.

SentNotification

Sent Notification(api call, email, sms).

type SentNotification {
  content: String
  created_at: JSONDate!
  id: ID!
  notification_id: ID!
  notification_type: NotificationTypeEnum!
  options: HashObject
  updated_at: JSONDate!
}

Fields

SentNotificationCollection

Code example:

type SentNotificationCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [SentNotification!]
  total_entries: Int!
  total_pages: Int!
}

Fields

SmsNotification

Sms Notification.

type SmsNotification {
  content: String
  created_at: JSONDate!
  delay_by: String
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  physical_file_path: String
  to: String!
  trigger_condition: String
  updated_at: JSONDate!
}

Fields

Liquid code to evaluate to valid text. If sms is triggered via form configuration, You have access to "form" variable, with data specified in the 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.

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

Name of the sms, which is used in form_configurations or mutation to trigger it.

Defines the physical path of the file.

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.

SmsNotificationCollection

Code example:

type SmsNotificationCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [SmsNotification!]
  total_entries: Int!
  total_pages: Int!
}

Fields

SmsSendPayload

Autogenerated return type of SmsSend.

type SmsSendPayload {
  is_scheduled_to_send: Boolean!
}

Fields

Table

Table definition.

type Table {
  created_at: JSONDate!
  id: ID!
  manually_managed: Boolean
  metadata: HashObject
  name: String!
  parameterized_name: String!
  physical_file_path: String
  properties: [Property!]!
  records_count: Int!
  updated_at: JSONDate!
}

Fields

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

Defines the physical path of the file.

List of properties attributes to be included in the results.

TableCollection

Code example:

type TableCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [Table!]
  total_entries: Int!
  total_pages: Int!
}

Fields

ThirdPartyIntegration

Third Party Integration.

type ThirdPartyIntegration {
  created_at: JSONDate!
  id: ID!
  settings: HashObject!
  type: String!
  updated_at: JSONDate!
}

Fields

ThirdPartyIntegrationCollection

Code example:

type ThirdPartyIntegrationCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [ThirdPartyIntegration!]
  total_entries: Int!
  total_pages: Int!
}

Fields

Translation

Translation.

type Translation {
  created_at: JSONDate!
  id: ID!
  key: String!
  locale: String!
  updated_at: JSONDate!
  value: String!
}

Fields

TranslationJson

TranslationJson.

type TranslationJson {
  deleted_records: Int!
  key: String!
  locale: String!
  strategy: TranslationJsonStrategy!
  upserted_records: Int!
  value_json: HashObject!
}

Fields

UpdateUsersMutationPayload

Autogenerated return type of UpdateUsersMutation.

type UpdateUsersMutationPayload {
  ids: [ID!]!
}

Fields

User

Code example:

type User {
  authenticate: Authenticate!
  created_at: JSONDate
  deleted_at: JSONDate
  email: String!
  encrypted_password: String
  external_id: String
  first_name: String
  id: ID
  jwt_token(algorithm: JwtAlgorithm = HS256, expires_in: Int): String
  language: String
  last_name: String
  middle_name: String
  name: String
  otp(otp_name: String): Otp!
  otp_tokens: [String!]!
  profiles(profile_type: String): [Profile!]!
  properties(select: [PropertiesFieldInput!]): HashObject
  property(name: String!): String
  property_array(name: String!): [String!]
  property_boolean(name: String!): Boolean
  property_float(name: String!): Float
  property_int(name: String!): Int
  property_json(name: String!): JSONPayload
  property_object(name: String!): HashObject
  property_upload(expires_in: Int, name: String!): PropertyUpload
  related_record(
    filter: RecordsFilterInput
    foreign_property: String = "id"
    join_on_property: String!
    sort: [RecordsSortInput!]
    table: [String]!
  ): Record
  related_records(
    filter: RecordsFilterInput
    foreign_property: String!
    join_on_property: String!
    limit: Int
    sort: [RecordsSortInput!]
    table: [String]!
  ): [Record!]
  related_user(
    filter: ModelsFilterInput
    foreign_property: String = "id"
    join_on_property: String = "user_id"
    sort: [UsersSortInput!]
  ): User
  related_users(
    filter: ModelsFilterInput
    foreign_property: String!
    join_on_property: String!
    limit: Int
    sort: [UsersSortInput!]
  ): [User!]
  remote_records(endpoint: Endpoint!, join_on_property: String!): [Record!]
  remote_users(endpoint: Endpoint!, join_on_property: String!): [User!]
  slug: String!
  temporary_token(expires_in: Float = 48.0): String
  updated_at: JSONDate
}

Fields

Validate user credentials.

Timestamp of when the record was created, automatically generated by the system.

Timestamp of when the record was soft delete, populated by delete action. It is also possible to manually set it via update. To undelete change it back to empty value, but please note that associated records would need to be manually undeleted as well.

Used mainly for import/export, if you want to use third party service as a source of truth.

ID of an object.

JWT token that can be used for authentication.

Number of seconds after which the token expires, clamped to a maximum of one year. When omitted, the token expires after the instance session timeout (same source as the `{% sign_in %}` tag). Expired tokens are rejected on decode.

Used by translations to set the language of currently logged in user.

Two factor authentication with TOTP(time based one time password).

Get custom OTP token names.

Associated user profiles, which can be used as user role or namespace for certain group of user properties.

List of all properties assigned to the object.

Fetch any property by name and return value as a String; ex: hair_color: property(name: "hair_color").

Fetch any property by name and return value as an Array of Strings. ex: todo_list: property_array(name: "todo_list").

Fetch any property by name and return value as a Boolean; ex: price: property_boolean(name: "enabled").

Fetch any property by name and return value as a Float; ex: price: property_float(name: "price").

Fetch any property by name and return value as an Integer; ex: age: property_int(name: "age").

Fetch any property by name and return value as a JSON string.

Fetch any property by name, parse it as a JSON and return object.

Fetch any property by name and returns upload details.

Defines the number of seconds for which the generated url will be accessible. Must be set if acl was set to private.

Defines has-one relation with other record; ex: children: records(table: "child" join_on_property: "parent_id" foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Joins record with record-schema-name == table.

Defines has-many relation with other records; ex: children: related_records(table: "children", join_on_property: "parent_id", foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Define table name which should be used as a source for related records.

Defines relation with other user; ex: invited_by: related_user(join_on_property: "invited_by_id") { id }.

Load resources with foreign_property == join_on_property.

Defines has-many relation with other user; ex: children: users(join_on_property: "parent_id", foreign_property: "parent_id") { id }.

Load resources with foreign_property == join_on_property.

Load resources with foreign_property == join_on_property.

Defines relation object accessible over HTTP in JSON collection identified by its ID.

Endpoint that will return resources for given ids in json format.

Load remote resource with id == join_on_property.

Defines relation object accessible over HTTP in JSON collection identified by its ID.

Endpoint that will return resources for given ids in json format.

Load remote resource with id == join_on_property.

To be used in the url instead of id for SEO purposes. Must be unique. By default generated based on first-name and last-name.

A token valid for desired number of hours, which you can use to authorize the user in third party application. To do it, include it in a header with name UserTemporaryToken. You can also manually verify the token with users{ authenticate { temporary_token(..) } } query. Token will be invalidated on password change.

Number of hours after which the token expire.

Timestamp of when the record was updated, automatically generated by the system.

UserCollection

Code example:

type UserCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [User!]
  total_entries: Int!
  total_pages: Int!
}

Fields

UserOtpDeleteTokenInformation

Code example:

type UserOtpDeleteTokenInformation {
  otp_name: String
  status: String!
  user_id: ID!
}

Fields

ID of the user.

UserOtpSecretRefreshInformation

Code example:

type UserOtpSecretRefreshInformation {
  otp_name: String
  status: String!
  user_id: ID!
}

Fields

ID of the user.

UserSchema

Schema for user defined in user.yml.

type UserSchema {
  properties: [Property!]!
}

Fields

List of properties attributes to be included in the results.

Version

Version of object change from the last 7 days.

type Version {
  created_at: JSONDate!
  event: VersionAction!
  id: ID!
  item_id: ID!
  item_type: VersionItemType!
  resource: HashObject
  whodunnit: String
}

Fields

Timestamp when the event happened.

Id of an object which has been created/updated/deleted.

Type of an object which has been created/updated/deleted.

Json representation of a resource prior to the action; null for create action.

Most of the time ID of a User who performed the event. Can be something else if the action was taken by the Insites support team.

VersionCollection

Code example:

type VersionCollection {
  current_page: Int!
  has_next_page: Boolean!
  has_previous_page: Boolean!
  per_page: Int!
  results: [Version!]
  total_entries: Int!
  total_pages: Int!
}

Fields