Homepage

Model

Last edit: Oct 13, 2026

Record in the legacy model API. Deprecated, use Record

type Model implements HasModelsInterface, PropertiesInterface {
  address(name: String!): CustomAddrress
  addresses(name: String): [CustomAddrress!]
  attachment(name: String!): PrivateFile
  attachments(name: String): [PrivateFile!]
  created_at: JSONDate!
  customizable_id: ID
  customizable_type: String
  deleted_at: JSONDate
  external_id: ID
  id: ID
  image(name: String!): Image
  images(name: String): [Image!]
  model(
    filter: ModelsFilterInput
    foreign_property: String = "id"
    join_on_property: String!
    model_name: [String]!
    sort: [ModelsSortInput!]
  ): Model
  model_schema_id: ID!
  model_schema_name: String
  models(
    foreign_property: String!
    join_on_property: String!
    limit: Int
    model_name: [String]!
    sort: [ModelsSortInput!]
  ): [Model!]
  name: 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_model(
    filter: ModelsFilterInput
    foreign_property: String = "id"
    join_on_property: String!
    model_schema_name: [String]!
    sort: [ModelsSortInput!]
  ): Model
  related_models(
    filter: ModelsFilterInput
    foreign_property: String!
    join_on_property: String!
    limit: Int
    model_schema_name: [String]!
    sort: [ModelsSortInput!]
  ): [Model!]
  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!]
  table: String
  table_id: ID!
  updated_at: JSONDate!
  user(
    foreign_property: String = "id"
    join_on_property: String = "user_id"
    sort: [UsersSortInput!]
  ): User
  user_id: ID
  users(
    foreign_property: String!
    join_on_property: String!
    limit: Int
    sort: [UsersSortInput!]
  ): [User!]
}

Fields

address (CustomAddrress)

Returns the legacy address property with the given name. Deprecated, store addresses in your own table

Name of the address property

addresses (CustomAddrress)

Returns legacy address properties, optionally only those with the given name.
Deprecated, store addresses in your own table

Name of the address property; all when omitted

attachment (PrivateFile)

Returns the legacy attachment property with the given name. Deprecated, use property_upload

Name of the attachment property

attachments (PrivateFile)

Returns legacy attachment properties, optionally only those with the given name. Deprecated, use property_upload

Name of the attachment property; all when omitted

created_at (JSONDate)

Timestamp of when the object was created, set automatically by the system

customizable_id (ID)

Deprecated, ID of the attached-to object

customizable_type (String)

Deprecated, type of the attached-to object

deleted_at (JSONDate)

Timestamp of when the object was soft deleted, populated by the delete action.
It is also possible to set it manually via update. To undelete, change it back
to an empty value; note that associated objects need to be undeleted manually as well.

external_id (ID)

Identifier of the object in an external system. Used mainly for import/export,
when a third party service is the source of truth

id (ID)

Unique identifier of the object

image (Image)

Returns the legacy image property with the given name. Deprecated, use property_upload

Name of the image property

images (Image)

Returns legacy image properties, optionally only those with the given name. Deprecated, use property_upload

Name of the image property; all when omitted

model (Model)

Returns one related model. Deprecated, use related_record

Additional conditions the related objects must match

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Name of the model schema (table) of the related models

Sort order of the results. When several entries are given, they are applied in the given order

model_schema_id (ID)

Deprecated, use table_id

model_schema_name (String)

Deprecated, use table

models (Model)

Returns related models. Deprecated, use related_records

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Maximum number of related objects returned for each object

Name of the model schema (table) of the related models

Sort order of the results. When several entries are given, they are applied in the given order

name (String)

Deprecated, use table

properties (HashObject)

All properties of the object as an object keyed by property name

Properties to return, each converted to the given type (as by the matching
property_* field; other types become strings); all properties as stored when omitted

property (String)

Returns the value of the property with the given name as a string; ex: hair_color: property(name: "hair_color")

Name of the property

property_array (String)

Returns the value of the property with the given name as an array of strings;
a single value is wrapped in an array and no value gives an empty array; ex:
todo_list: property_array(name: "todo_list")

Name of the property

property_boolean (Boolean)

Returns the value of the property with the given name as a boolean. Accepts
true/false values and the strings "t"/"T" and "f"/"F"; any other value returns
an error; ex: enabled: property_boolean(name: "enabled")

Name of the property

property_float (Float)

Returns the value of the property with the given name as a float; returns an
error when the value is not a number; ex: price: property_float(name: "price")

Name of the property

property_int (Int)

Returns the value of the property with the given name as an integer; returns
an error when the value cannot be converted, e.g. "abc" or "1.5"; ex: age:
property_int(name: "age")

Name of the property

property_json (JSONPayload)

Returns the value of the property with the given name as stored, without conversion

Name of the property

property_object (HashObject)

Returns the value of the property with the given name parsed from JSON text
into an object; returns an error when the value is not valid JSON

Name of the property

property_upload (PropertyUpload)

Returns the file stored in the given upload property; ex: avatar: property_upload(name: "avatar") { url }

  • expires_in (Int)

Number of seconds for which the returned URLs are valid. When given, signed
URLs are returned; required to access files uploaded with acl private

Name of the upload property

Returns one related model. Deprecated, use related_record

Additional conditions the related objects must match

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Name of the model schema (table) of the related models

Sort order of the results. When several entries are given, they are applied in the given order

Returns related models. Deprecated, use related_records

Additional conditions the related objects must match

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Maximum number of related objects returned for each object

Name of the model schema (table) of the related models

Sort order of the results. When several entries are given, they are applied in the given order

Returns the user whose foreign_property equals the value of join_on_property
of this object (belongs-to relation); by default the user whose id is in
user_id; ex: invited_by: related_user(join_on_property: "invited_by_id") { id }

Additional conditions the related objects must match

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Sort order of the results. When several entries are given, they are applied in the given order

Returns users whose foreign_property equals the value of join_on_property of
this object (has-many relation). Related users of all objects in the result
are loaded in one batch of at most 10,000 users, soft-deleted users are
skipped; ex: friends: related_users(join_on_property: "friend_ids",
foreign_property: "id") { id }

Additional conditions the related objects must match

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Maximum number of related objects returned for each object

Sort order of the results. When several entries are given, they are applied in the given order

table (String)

Name of the table the model belongs to

table_id (ID)

ID of the table the model belongs to

updated_at (JSONDate)

Timestamp of when the object was last updated, set automatically by the system

user (User)

Returns the related user. Deprecated, use related_user

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Sort order of the results. When several entries are given, they are applied in the given order

user_id (ID)

ID of the user who owns the model

users (User)

Returns related users. Deprecated, use related_users

Name of the property (or attribute) of the related object equal to join_on_property

Name of the property (or attribute) of this object matched against foreign_property

Maximum number of related objects returned for each object

Sort order of the results. When several entries are given, they are applied in the given order

Interfaces

HasModelsInterface

Object that can load related users and (deprecated) related models

PropertiesInterface

Object with properties, including upload properties

Questions?

We are always happy to help with any questions you may have.

contact us