OBJECT

User

# GraphQL Schema definition

1type User implements PropertiesInterface, LegacyCustomAttributeInterface, HasRecordsInterface, HasModelsInterface {
 
2# Validate user credentials
3authenticate: Authenticate!
 
4# stores information about user integrations with authentication providers like
5# auth0, facebook, twitter etc
6authentications: [Authentication!]
 
7# timestamp of when the record was created, automatically generated by the system
8created_at: JSONDate
 
9# Arguments
10# name: model schema name
11# user_id: ID of user that created customization
12customizations(name: String, user_id: ID): [Customization!]
 
13# timestamp of when the record was soft delete, populated by delete action. It is
14# also possible to manually set it via update. To undelete change it back to empty
15# value, but please note that associated records would need to be manually
16# undeleted as well.
17deleted_at: JSONDate
 
18email: String!
 
19encrypted_password: String
 
20# Used mainly for import/export, if you want to use third party service as a
21# source of truth
22external_id: String
 
23first_name: String
 
24# ID of an object.
25id: ID
 
26# JWT token that can be used for authentication
27#
28# Arguments
29# algorithm: [Not documented]
30jwt_token(algorithm: JwtAlgorithm): String
 
31# Used by translations to set the language of currently logged in user
32language: String
 
33last_name: String
 
34middle_name: String
 
35name: String
 
36# Two factor authentication with TOTP(time based one time password)
37otp: Otp!
 
38# associated user profiles, which can be used as user role or namespace for
39# certain group of user properties
40#
41# Arguments
42# profile_type: [Not documented]
43profiles(profile_type: String): [Profile!]!
 
44# List of all properties assigned to the object.
45properties: HashObject
 
46# Fetch any property by name and return value as a String; ex: hair_color:
47# property(name: "hair_color")
48#
49# Arguments
50# name: [Not documented]
51property(name: String!): String
 
52# Fetch any property by name and return value as an Array of Strings. ex:
53# todo_list: property_array(name: "todo_list")
54#
55# Arguments
56# name: [Not documented]
57property_array(name: String!): [String!]
 
58# Fetch any property by name and return value as a Boolean; ex: price:
59# property_boolean(name: "enabled")
60#
61# Arguments
62# name: [Not documented]
63property_boolean(name: String!): Boolean
 
64# Fetch any property by name and return value as a Float; ex: price:
65# property_float(name: "price")
66#
67# Arguments
68# name: [Not documented]
69property_float(name: String!): Float
 
70# Fetch any property by name and return value as an Integer; ex: age:
71# property_int(name: "age")
72#
73# Arguments
74# name: [Not documented]
75property_int(name: String!): Int
 
76# Fetch any property by name and return value as a JSON string.
77#
78# Arguments
79# name: [Not documented]
80property_json(name: String!): JSONPayload
 
81# Fetch any property by name, parse it as a JSON and return object
82#
83# Arguments
84# name: [Not documented]
85property_object(name: String!): HashObject
 
86# Fetch any property by name and returns upload details
87#
88# Arguments
89# expires_in: Defines the number of seconds for which the
90# generated url will be accessible. Must be set if acl was set to private
91# name: [Not documented]
92property_upload(expires_in: Int, name: String!): PropertyUpload
 
93# Defines has-one relation with other record; ex: children: records(table: "child"
94# join_on_property: "parent_id" foreign_property: "parent_id") { id }
95#
96# Arguments
97# filter: [Not documented]
98# foreign_property: Load resources with foreign_property ==
99# join_on_property
100# join_on_property: Load resources with foreign_property ==
101# join_on_property
102# sort: [Not documented]
103# table: Joins record [formaly customization] with
104# record-schema-name == table
105related_record(
106filter: RecordsFilterInput,
107foreign_property: String,
108join_on_property: String!,
109sort: [RecordsSortInput!],
110table: [String]!
111): Record
 
112# Defines has-many relation with other records; ex: children:
113# related_records(table: "children", join_on_property: "parent_id",
114# foreign_property: "parent_id") { id }
115#
116# Arguments
117# filter: [Not documented]
118# foreign_property: Load resources with foreign_property ==
119# join_on_property
120# join_on_property: Load resources with foreign_property ==
121# join_on_property
122# limit: [Not documented]
123# sort: [Not documented]
124# table: Define table name which should be used as a source for
125# related records
126related_records(
127filter: RecordsFilterInput,
128foreign_property: String!,
129join_on_property: String!,
130limit: Int,
131sort: [RecordsSortInput!],
132table: [String]!
133): [Record!]
 
134# Defines relation with other user; ex: invited_by: related_user(join_on_property:
135# "invited_by_id") { id }
136#
137# Arguments
138# filter: [Not documented]
139# foreign_property: Load resources with foreign_property ==
140# join_on_property
141# join_on_property:
142# sort: [Not documented]
143related_user(
144filter: ModelsFilterInput,
145foreign_property: String,
146join_on_property: String,
147sort: [UsersSortInput!]
148): User
 
149# Defines has-many relation with other user; ex: children: users(join_on_property:
150# "parent_id", foreign_property: "parent_id") { id }
151#
152# Arguments
153# filter: [Not documented]
154# foreign_property: Load resources with foreign_property ==
155# join_on_property
156# join_on_property: Load resources with foreign_property ==
157# join_on_property
158# limit: [Not documented]
159# sort: [Not documented]
160related_users(
161filter: ModelsFilterInput,
162foreign_property: String!,
163join_on_property: String!,
164limit: Int,
165sort: [UsersSortInput!]
166): [User!]
 
167# To be used in the url instead of id for SEO purposes. Must be unique. By default
168# generated based on first-name and last-mame
169slug: String!
 
170# A token valid for desired number of hours, which you can use to authorize the
171# user in third party application. To do it, include it in a header with name
172# UserTemporaryToken. You can also manually verify the token with users{
173# authenticate { temporary_token(..) } } query. Token will be invalidated on
174# password change.
175#
176# Arguments
177# valid_for: Number of hours before the token expires
178temporary_token(valid_for: Int): String
 
179# timestamp of when the record was updated, automatically generated by the system
180updated_at: JSONDate
 
181}

# Required by