Skip to main content

lineark_sdk/generated/
types.rs

1//! GraphQL object types.
2//!
3//! Generated by lineark-codegen — do not edit.
4use super::enums::*;
5use serde::{Deserialize, Serialize};
6/// A bot actor is an actor that is not a user, but an application or integration.
7#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase", default)]
9pub struct ActorBot {
10    pub id: Option<String>,
11    /// The type of bot.
12    pub r#type: Option<String>,
13    /// The sub type of the bot.
14    pub sub_type: Option<String>,
15    /// The display name of the bot.
16    pub name: Option<String>,
17    /// The display name of the external user on behalf of which the bot acted.
18    pub user_display_name: Option<String>,
19    /// A url pointing to the avatar representing this bot.
20    pub avatar_url: Option<String>,
21}
22/// An activity within an agent context.
23#[derive(Debug, Clone, Default, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase", default)]
25pub struct AgentActivity {
26    /// The unique identifier of the entity.
27    pub id: Option<String>,
28    /// The time at which the entity was created.
29    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
30    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
31    /// been updated after creation.
32    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
33    /// The time at which the entity was archived. Null if the entity has not been archived.
34    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
35    /// The agent session this activity belongs to.
36    pub agent_session: Option<Box<AgentSession>>,
37    /// The comment this activity is linked to.
38    pub source_comment: Option<Box<Comment>>,
39    /// The user who created this agent activity.
40    pub user: Option<Box<User>>,
41    /// Metadata about the external source that created this agent activity.
42    pub source_metadata: Option<serde_json::Value>,
43    /// An optional modifier that provides additional instructions on how the activity should be interpreted.
44    pub signal: Option<AgentActivitySignal>,
45    /// Metadata about this agent activity's signal.
46    pub signal_metadata: Option<serde_json::Value>,
47    /// Whether the activity is ephemeral, and should disappear after the next agent activity.
48    pub ephemeral: Option<bool>,
49    /// `Internal` Metadata about user-provided contextual information for this agent activity.
50    pub contextual_metadata: Option<serde_json::Value>,
51}
52/// Content for an action activity (tool call or action).
53#[derive(Debug, Clone, Default, Serialize, Deserialize)]
54#[serde(rename_all = "camelCase", default)]
55pub struct AgentActivityActionContent {
56    /// The type of activity.
57    pub r#type: Option<AgentActivityType>,
58    /// The action being performed.
59    pub action: Option<String>,
60    /// The parameters for the action, e.g. a file path, a keyword, etc.
61    pub parameter: Option<String>,
62    /// The result of the action in Markdown format.
63    pub result: Option<String>,
64    /// `Internal` The result content as ProseMirror document.
65    pub result_data: Option<serde_json::Value>,
66}
67#[derive(Debug, Clone, Default, Serialize, Deserialize)]
68#[serde(rename_all = "camelCase", default)]
69pub struct AgentActivityConnection {
70    pub edges: Option<Box<Vec<AgentActivityEdge>>>,
71    pub nodes: Option<Box<Vec<AgentActivity>>>,
72    pub page_info: Option<Box<PageInfo>>,
73}
74#[derive(Debug, Clone, Default, Serialize, Deserialize)]
75#[serde(rename_all = "camelCase", default)]
76pub struct AgentActivityEdge {
77    pub node: Option<Box<AgentActivity>>,
78    /// Used in `before` and `after` args
79    pub cursor: Option<String>,
80}
81/// Content for an elicitation activity.
82#[derive(Debug, Clone, Default, Serialize, Deserialize)]
83#[serde(rename_all = "camelCase", default)]
84pub struct AgentActivityElicitationContent {
85    /// The type of activity.
86    pub r#type: Option<AgentActivityType>,
87    /// The elicitation message in Markdown format.
88    pub body: Option<String>,
89    /// `Internal` The elicitation content as ProseMirror document.
90    pub body_data: Option<serde_json::Value>,
91}
92/// Content for an error activity.
93#[derive(Debug, Clone, Default, Serialize, Deserialize)]
94#[serde(rename_all = "camelCase", default)]
95pub struct AgentActivityErrorContent {
96    /// The type of activity.
97    pub r#type: Option<AgentActivityType>,
98    /// The error message in Markdown format.
99    pub body: Option<String>,
100    /// `Internal` The error content as ProseMirror document.
101    pub body_data: Option<serde_json::Value>,
102}
103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
104#[serde(rename_all = "camelCase", default)]
105pub struct AgentActivityPayload {
106    /// The identifier of the last sync operation.
107    pub last_sync_id: Option<f64>,
108    /// The agent activity that was created or updated.
109    pub agent_activity: Option<Box<AgentActivity>>,
110    /// Whether the operation was successful.
111    pub success: Option<bool>,
112}
113/// Content for a prompt activity.
114#[derive(Debug, Clone, Default, Serialize, Deserialize)]
115#[serde(rename_all = "camelCase", default)]
116pub struct AgentActivityPromptContent {
117    /// The type of activity.
118    pub r#type: Option<AgentActivityType>,
119    /// A message requesting additional information or action from user.
120    pub body: Option<String>,
121    /// `Internal` The prompt content as ProseMirror document.
122    pub body_data: Option<serde_json::Value>,
123}
124/// Content for a response activity.
125#[derive(Debug, Clone, Default, Serialize, Deserialize)]
126#[serde(rename_all = "camelCase", default)]
127pub struct AgentActivityResponseContent {
128    /// The type of activity.
129    pub r#type: Option<AgentActivityType>,
130    /// The response content in Markdown format.
131    pub body: Option<String>,
132    /// `Internal` The response content as ProseMirror document.
133    pub body_data: Option<serde_json::Value>,
134}
135/// Content for a thought activity.
136#[derive(Debug, Clone, Default, Serialize, Deserialize)]
137#[serde(rename_all = "camelCase", default)]
138pub struct AgentActivityThoughtContent {
139    /// The type of activity.
140    pub r#type: Option<AgentActivityType>,
141    /// The thought content in Markdown format.
142    pub body: Option<String>,
143    /// `Internal` The thought content as ProseMirror document.
144    pub body_data: Option<serde_json::Value>,
145}
146/// A session for agent activities and state management.
147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
148#[serde(rename_all = "camelCase", default)]
149pub struct AgentSession {
150    /// The unique identifier of the entity.
151    pub id: Option<String>,
152    /// The time at which the entity was created.
153    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
154    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
155    /// been updated after creation.
156    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
157    /// The time at which the entity was archived. Null if the entity has not been archived.
158    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
159    /// The human user responsible for the agent session. Null if the session was initiated via automation or by an agent user, with no responsible human user.
160    pub creator: Option<Box<User>>,
161    /// The agent user that is associated with this agent session.
162    pub app_user: Option<Box<User>>,
163    /// The comment this agent session is associated with.
164    pub comment: Option<Box<Comment>>,
165    /// The comment that this agent session was spawned from, if from a different thread.
166    pub source_comment: Option<Box<Comment>>,
167    /// The issue this agent session is associated with.
168    pub issue: Option<Box<Issue>>,
169    /// The current status of the agent session.
170    pub status: Option<AgentSessionStatus>,
171    /// The time the agent session started.
172    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
173    /// The time the agent session ended.
174    pub ended_at: Option<chrono::DateTime<chrono::Utc>>,
175    /// The time the agent session was dismissed.
176    pub dismissed_at: Option<chrono::DateTime<chrono::Utc>>,
177    /// The user who dismissed the agent session.
178    pub dismissed_by: Option<Box<User>>,
179    /// Activities associated with this agent session.
180    pub activities: Option<Box<AgentActivityConnection>>,
181    /// The URL of an external agent-hosted page associated with this session.
182    pub external_link: Option<String>,
183    /// A summary of the activities in this session.
184    pub summary: Option<String>,
185    /// Metadata about the external source that created this agent session.
186    pub source_metadata: Option<serde_json::Value>,
187    /// A dynamically updated list of the agent's execution strategy.
188    pub plan: Option<serde_json::Value>,
189    /// Serialized JSON representing the contexts this session is related to, for direct chat sessions.
190    pub context: Option<serde_json::Value>,
191    /// `DEPRECATED` The type of the agent session.
192    pub r#type: Option<AgentSessionType>,
193    /// Agent session URL.
194    pub url: Option<String>,
195    /// `Internal` Pull requests associated with this agent session.
196    pub pull_requests: Option<Box<AgentSessionToPullRequestConnection>>,
197    /// External links associated with this session.
198    pub external_links: Option<Box<Vec<AgentSessionExternalLink>>>,
199    /// URLs of external resources associated with this session.
200    pub external_urls: Option<serde_json::Value>,
201}
202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
203#[serde(rename_all = "camelCase", default)]
204pub struct AgentSessionConnection {
205    pub edges: Option<Box<Vec<AgentSessionEdge>>>,
206    pub nodes: Option<Box<Vec<AgentSession>>>,
207    pub page_info: Option<Box<PageInfo>>,
208}
209#[derive(Debug, Clone, Default, Serialize, Deserialize)]
210#[serde(rename_all = "camelCase", default)]
211pub struct AgentSessionEdge {
212    pub node: Option<Box<AgentSession>>,
213    /// Used in `before` and `after` args
214    pub cursor: Option<String>,
215}
216/// An external link associated with an agent session.
217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
218#[serde(rename_all = "camelCase", default)]
219pub struct AgentSessionExternalLink {
220    /// The URL of the external resource.
221    pub url: Option<String>,
222    /// Label for the link.
223    pub label: Option<String>,
224}
225#[derive(Debug, Clone, Default, Serialize, Deserialize)]
226#[serde(rename_all = "camelCase", default)]
227pub struct AgentSessionPayload {
228    /// The identifier of the last sync operation.
229    pub last_sync_id: Option<f64>,
230    /// Whether the operation was successful.
231    pub success: Option<bool>,
232    /// The agent session that was created or updated.
233    pub agent_session: Option<Box<AgentSession>>,
234}
235/// Join table between agent sessions and pull requests.
236#[derive(Debug, Clone, Default, Serialize, Deserialize)]
237#[serde(rename_all = "camelCase", default)]
238pub struct AgentSessionToPullRequest {
239    /// The unique identifier of the entity.
240    pub id: Option<String>,
241    /// The time at which the entity was created.
242    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
243    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
244    /// been updated after creation.
245    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
246    /// The time at which the entity was archived. Null if the entity has not been archived.
247    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
248    /// The pull request that the agent session is associated with.
249    pub pull_request: Option<Box<PullRequest>>,
250    /// The agent session that the pull request is associated with.
251    pub agent_session: Option<Box<AgentSession>>,
252}
253#[derive(Debug, Clone, Default, Serialize, Deserialize)]
254#[serde(rename_all = "camelCase", default)]
255pub struct AgentSessionToPullRequestConnection {
256    pub edges: Option<Box<Vec<AgentSessionToPullRequestEdge>>>,
257    pub nodes: Option<Box<Vec<AgentSessionToPullRequest>>>,
258    pub page_info: Option<Box<PageInfo>>,
259}
260#[derive(Debug, Clone, Default, Serialize, Deserialize)]
261#[serde(rename_all = "camelCase", default)]
262pub struct AgentSessionToPullRequestEdge {
263    pub node: Option<Box<AgentSessionToPullRequest>>,
264    /// Used in `before` and `after` args
265    pub cursor: Option<String>,
266}
267/// AI prompt rules for a team.
268#[derive(Debug, Clone, Default, Serialize, Deserialize)]
269#[serde(rename_all = "camelCase", default)]
270pub struct AiPromptRules {
271    /// The unique identifier of the entity.
272    pub id: Option<String>,
273    /// The time at which the entity was created.
274    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
275    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
276    /// been updated after creation.
277    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
278    /// The time at which the entity was archived. Null if the entity has not been archived.
279    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
280    /// The user who last updated the AI prompt rules.
281    pub updated_by: Option<Box<User>>,
282}
283/// Public information of the OAuth application.
284#[derive(Debug, Clone, Default, Serialize, Deserialize)]
285#[serde(rename_all = "camelCase", default)]
286pub struct Application {
287    /// OAuth application's ID.
288    pub id: Option<String>,
289    /// OAuth application's client ID.
290    pub client_id: Option<String>,
291    /// Application name.
292    pub name: Option<String>,
293    /// Information about the application.
294    pub description: Option<String>,
295    /// Name of the developer.
296    pub developer: Option<String>,
297    /// Url of the developer (homepage or docs).
298    pub developer_url: Option<String>,
299    /// Image of the application.
300    pub image_url: Option<String>,
301}
302/// Contains requested archived model objects.
303#[derive(Debug, Clone, Default, Serialize, Deserialize)]
304#[serde(rename_all = "camelCase", default)]
305pub struct ArchiveResponse {
306    /// A JSON serialized collection of model objects loaded from the archive
307    pub archive: Option<String>,
308    /// The total number of entities in the archive.
309    pub total_count: Option<f64>,
310    /// The version of the remote database. Incremented by 1 for each migration run on the database.
311    pub database_version: Option<f64>,
312    /// Whether the dependencies for the model objects are included in the archive.
313    pub includes_dependencies: Option<Vec<String>>,
314}
315#[derive(Debug, Clone, Default, Serialize, Deserialize)]
316#[serde(rename_all = "camelCase", default)]
317pub struct AsksChannelConnectPayload {
318    /// The identifier of the last sync operation.
319    pub last_sync_id: Option<f64>,
320    /// The integration that was created or updated.
321    pub integration: Option<Box<Integration>>,
322    /// Whether the operation was successful.
323    pub success: Option<bool>,
324    /// The new Asks Slack channel mapping for the connected channel.
325    pub mapping: Option<Box<SlackChannelNameMapping>>,
326    /// Whether the bot needs to be manually added to the channel.
327    pub add_bot: Option<bool>,
328}
329/// A web page for an Asks web form.
330#[derive(Debug, Clone, Default, Serialize, Deserialize)]
331#[serde(rename_all = "camelCase", default)]
332pub struct AsksWebPage {
333    /// The unique identifier of the entity.
334    pub id: Option<String>,
335    /// The time at which the entity was created.
336    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
337    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
338    /// been updated after creation.
339    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
340    /// The time at which the entity was archived. Null if the entity has not been archived.
341    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
342    /// The organization that the Asks web page belongs to.
343    pub organization: Option<Box<Organization>>,
344    /// The Asks web settings this page belongs to.
345    pub asks_web_settings: Option<Box<AsksWebSettings>>,
346    /// The user who created the Asks web page.
347    pub creator: Option<Box<User>>,
348    /// The title of the page.
349    pub title: Option<String>,
350    /// The description of the page.
351    pub description: Option<String>,
352    /// The page's unique URL slug.
353    pub slug_id: Option<String>,
354    /// The auto-reply message for issue created. If not set, the default reply will be used.
355    pub issue_created_auto_reply: Option<String>,
356    /// Whether the auto-reply for issue created is enabled.
357    pub issue_created_auto_reply_enabled: Option<bool>,
358    /// The auto-reply message for issue completed. If not set, the default reply will be used.
359    pub issue_completed_auto_reply: Option<String>,
360    /// Whether the auto-reply for issue completed is enabled.
361    pub issue_completed_auto_reply_enabled: Option<bool>,
362    /// The auto-reply message for issue canceled. If not set, the default reply will be used.
363    pub issue_canceled_auto_reply: Option<String>,
364    /// Whether the auto-reply for issue canceled is enabled.
365    pub issue_canceled_auto_reply_enabled: Option<bool>,
366}
367#[derive(Debug, Clone, Default, Serialize, Deserialize)]
368#[serde(rename_all = "camelCase", default)]
369pub struct AsksWebPagePayload {
370    /// The identifier of the last sync operation.
371    pub last_sync_id: Option<f64>,
372    /// The Asks web page that was created or updated.
373    pub asks_web_page: Option<Box<AsksWebPage>>,
374    /// Whether the operation was successful.
375    pub success: Option<bool>,
376}
377/// Settings for an Asks web form.
378#[derive(Debug, Clone, Default, Serialize, Deserialize)]
379#[serde(rename_all = "camelCase", default)]
380pub struct AsksWebSettings {
381    /// The unique identifier of the entity.
382    pub id: Option<String>,
383    /// The time at which the entity was created.
384    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
385    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
386    /// been updated after creation.
387    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
388    /// The time at which the entity was archived. Null if the entity has not been archived.
389    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
390    /// The organization that the Asks web settings are associated with.
391    pub organization: Option<Box<Organization>>,
392    /// The user who created the Asks web settings.
393    pub creator: Option<Box<User>>,
394    /// The custom domain for the Asks web form. If null, the default Linear-hosted domain will be used.
395    pub domain: Option<String>,
396    /// The email intake address associated with these Asks web settings.
397    pub email_intake_address: Option<Box<EmailIntakeAddress>>,
398    /// The identity provider for SAML authentication on this Asks web form.
399    pub identity_provider: Option<Box<IdentityProvider>>,
400}
401#[derive(Debug, Clone, Default, Serialize, Deserialize)]
402#[serde(rename_all = "camelCase", default)]
403pub struct AsksWebSettingsPayload {
404    /// The identifier of the last sync operation.
405    pub last_sync_id: Option<f64>,
406    /// The Asks web settings that were created or updated.
407    pub asks_web_settings: Option<Box<AsksWebSettings>>,
408    /// Whether the operation was successful.
409    pub success: Option<bool>,
410}
411/// Issue attachment (e.g. support ticket, pull request).
412#[derive(Debug, Clone, Default, Serialize, Deserialize)]
413#[serde(rename_all = "camelCase", default)]
414pub struct Attachment {
415    /// The unique identifier of the entity.
416    pub id: Option<String>,
417    /// The time at which the entity was created.
418    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
419    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
420    /// been updated after creation.
421    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
422    /// The time at which the entity was archived. Null if the entity has not been archived.
423    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
424    /// Content for the title line in the Linear attachment widget.
425    pub title: Option<String>,
426    /// Content for the subtitle line in the Linear attachment widget.
427    pub subtitle: Option<String>,
428    /// Location of the attachment which is also used as an identifier.
429    pub url: Option<String>,
430    /// The creator of the attachment.
431    pub creator: Option<Box<User>>,
432    /// The non-Linear user who created the attachment.
433    pub external_user_creator: Option<Box<ExternalUser>>,
434    /// Custom metadata related to the attachment.
435    pub metadata: Option<serde_json::Value>,
436    /// Information about the source which created the attachment.
437    pub source: Option<serde_json::Value>,
438    /// An accessor helper to source.type, defines the source type of the attachment.
439    pub source_type: Option<String>,
440    /// Indicates if attachments for the same source application should be grouped in the Linear UI.
441    pub group_by_source: Option<bool>,
442    /// The issue this attachment was originally created on. Will be undefined if the attachment hasn't been moved.
443    pub original_issue: Option<Box<Issue>>,
444    /// The issue this attachment belongs to.
445    pub issue: Option<Box<Issue>>,
446    /// The body data of the attachment, if any.
447    pub body_data: Option<String>,
448}
449#[derive(Debug, Clone, Default, Serialize, Deserialize)]
450#[serde(rename_all = "camelCase", default)]
451pub struct AttachmentConnection {
452    pub edges: Option<Box<Vec<AttachmentEdge>>>,
453    pub nodes: Option<Box<Vec<Attachment>>>,
454    pub page_info: Option<Box<PageInfo>>,
455}
456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
457#[serde(rename_all = "camelCase", default)]
458pub struct AttachmentEdge {
459    pub node: Option<Box<Attachment>>,
460    /// Used in `before` and `after` args
461    pub cursor: Option<String>,
462}
463#[derive(Debug, Clone, Default, Serialize, Deserialize)]
464#[serde(rename_all = "camelCase", default)]
465pub struct AttachmentPayload {
466    /// The identifier of the last sync operation.
467    pub last_sync_id: Option<f64>,
468    /// The issue attachment that was created.
469    pub attachment: Option<Box<Attachment>>,
470    /// Whether the operation was successful.
471    pub success: Option<bool>,
472}
473#[derive(Debug, Clone, Default, Serialize, Deserialize)]
474#[serde(rename_all = "camelCase", default)]
475pub struct AttachmentSourcesPayload {
476    /// A unique list of all source types used in this workspace.
477    pub sources: Option<serde_json::Value>,
478}
479/// Workspace audit log entry object.
480#[derive(Debug, Clone, Default, Serialize, Deserialize)]
481#[serde(rename_all = "camelCase", default)]
482pub struct AuditEntry {
483    /// The unique identifier of the entity.
484    pub id: Option<String>,
485    /// The time at which the entity was created.
486    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
487    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
488    /// been updated after creation.
489    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
490    /// The time at which the entity was archived. Null if the entity has not been archived.
491    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
492    pub r#type: Option<String>,
493    /// The organization the audit log belongs to.
494    pub organization: Option<Box<Organization>>,
495    /// The user that caused the audit entry to be created.
496    pub actor: Option<Box<User>>,
497    /// The ID of the user that caused the audit entry to be created.
498    pub actor_id: Option<String>,
499    /// IP from actor when entry was recorded.
500    pub ip: Option<String>,
501    /// Country code of request resulting to audit entry.
502    pub country_code: Option<String>,
503    /// Additional metadata related to the audit entry.
504    pub metadata: Option<serde_json::Value>,
505    /// Additional information related to the request which performed the action.
506    pub request_information: Option<serde_json::Value>,
507}
508#[derive(Debug, Clone, Default, Serialize, Deserialize)]
509#[serde(rename_all = "camelCase", default)]
510pub struct AuditEntryConnection {
511    pub edges: Option<Box<Vec<AuditEntryEdge>>>,
512    pub nodes: Option<Box<Vec<AuditEntry>>>,
513    pub page_info: Option<Box<PageInfo>>,
514}
515#[derive(Debug, Clone, Default, Serialize, Deserialize)]
516#[serde(rename_all = "camelCase", default)]
517pub struct AuditEntryEdge {
518    pub node: Option<Box<AuditEntry>>,
519    /// Used in `before` and `after` args
520    pub cursor: Option<String>,
521}
522#[derive(Debug, Clone, Default, Serialize, Deserialize)]
523#[serde(rename_all = "camelCase", default)]
524pub struct AuditEntryType {
525    /// The audit entry type.
526    pub r#type: Option<String>,
527    /// Description of the audit entry type.
528    pub description: Option<String>,
529}
530/// An identity provider.
531#[derive(Debug, Clone, Default, Serialize, Deserialize)]
532#[serde(rename_all = "camelCase", default)]
533pub struct AuthIdentityProvider {
534    /// The time at which the entity was created.
535    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
536    /// The unique identifier of the entity.
537    pub id: Option<String>,
538    /// Whether the identity provider is the default identity provider migrated from organization level settings.
539    pub default_migrated: Option<bool>,
540    /// The type of identity provider.
541    pub r#type: Option<IdentityProviderType>,
542    /// Whether SAML authentication is enabled for organization.
543    pub saml_enabled: Option<bool>,
544    /// Sign in endpoint URL for the identity provider.
545    pub sso_endpoint: Option<String>,
546    /// Binding method for authentication call. Can be either `post` (default) or `redirect`.
547    pub sso_binding: Option<String>,
548    /// The algorithm of the Signing Certificate. Can be one of `sha1`, `sha256` (default), or `sha512`.
549    pub sso_sign_algo: Option<String>,
550    /// The issuer's custom entity ID.
551    pub issuer_entity_id: Option<String>,
552    /// The service provider (Linear) custom entity ID. Defaults to <https://auth.linear.app/sso>
553    pub sp_entity_id: Option<String>,
554    /// X.509 Signing Certificate in string form.
555    pub sso_signing_cert: Option<String>,
556    /// The SAML priority used to pick default workspace in SAML SP initiated flow, when same domain is claimed for SAML by multiple workspaces. Lower priority value means higher preference.
557    pub priority: Option<f64>,
558    /// Whether SCIM provisioning is enabled for organization.
559    pub scim_enabled: Option<bool>,
560}
561/// An organization. Organizations are root-level objects that contain users and teams.
562#[derive(Debug, Clone, Default, Serialize, Deserialize)]
563#[serde(rename_all = "camelCase", default)]
564pub struct AuthOrganization {
565    /// The time at which the entity was created.
566    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
567    /// The unique identifier of the entity.
568    pub id: Option<String>,
569    /// The organization's name.
570    pub name: Option<String>,
571    /// Whether the organization is enabled. Used as a superuser tool to lock down the org.
572    pub enabled: Option<bool>,
573    /// The organization's unique URL key.
574    pub url_key: Option<String>,
575    /// Previously used URL keys for the organization (last 3 are kept and redirected).
576    pub previous_url_keys: Option<Vec<String>>,
577    /// The organization's logo URL.
578    pub logo_url: Option<String>,
579    /// The time at which deletion of the organization was requested.
580    pub deletion_requested_at: Option<chrono::DateTime<chrono::Utc>>,
581    /// The feature release channel the organization belongs to.
582    pub release_channel: Option<ReleaseChannel>,
583    /// Whether SAML authentication is enabled for organization.
584    pub saml_enabled: Option<bool>,
585    /// `INTERNAL` SAML settings
586    pub saml_settings: Option<serde_json::Value>,
587    /// Allowed authentication providers, empty array means all are allowed
588    pub allowed_auth_services: Option<Vec<String>>,
589    /// Whether SCIM provisioning is enabled for organization.
590    pub scim_enabled: Option<bool>,
591    /// The email domain or URL key for the organization.
592    pub service_id: Option<String>,
593    /// The region the organization is hosted in.
594    pub region: Option<String>,
595    /// Whether to hide other organizations for new users signing up with email domains claimed by this organization.
596    pub hide_non_primary_organizations: Option<bool>,
597    pub user_count: Option<f64>,
598}
599#[derive(Debug, Clone, Default, Serialize, Deserialize)]
600#[serde(rename_all = "camelCase", default)]
601pub struct AuthResolverResponse {
602    /// User account ID.
603    pub id: Option<String>,
604    /// Email for the authenticated account.
605    pub email: Option<String>,
606    /// Should the signup flow allow access for the domain.
607    pub allow_domain_access: Option<bool>,
608    /// List of active users that belong to the user account.
609    pub users: Option<Box<Vec<AuthUser>>>,
610    /// List of locked users that are locked by login restrictions
611    pub locked_users: Option<Box<Vec<AuthUser>>>,
612    /// List of organizations allowing this user account to join automatically.
613    pub available_organizations: Option<Box<Vec<AuthOrganization>>>,
614    /// List of organization available to this user account but locked due to the current auth method.
615    pub locked_organizations: Option<Box<Vec<AuthOrganization>>>,
616    /// ID of the organization last accessed by the user.
617    pub last_used_organization_id: Option<String>,
618    /// The authentication service used for the current session (e.g., google, email, saml).
619    pub service: Option<String>,
620    /// Application token.
621    pub token: Option<String>,
622}
623/// A user that has access to the the resources of an organization.
624#[derive(Debug, Clone, Default, Serialize, Deserialize)]
625#[serde(rename_all = "camelCase", default)]
626pub struct AuthUser {
627    /// The time at which the entity was created.
628    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
629    pub id: Option<String>,
630    /// The user's full name.
631    pub name: Option<String>,
632    /// The user's display (nick) name. Unique within each organization.
633    pub display_name: Option<String>,
634    /// The user's email address.
635    pub email: Option<String>,
636    /// An URL to the user's avatar image.
637    pub avatar_url: Option<String>,
638    /// Whether the user is an organization admin or guest on a database level.
639    pub role: Option<UserRoleType>,
640    /// Whether the user is active.
641    pub active: Option<bool>,
642    /// User account ID the user belongs to.
643    pub user_account_id: Option<String>,
644    /// Organization the user belongs to.
645    pub organization: Option<Box<AuthOrganization>>,
646    /// `INTERNAL` Identity provider the user is managed by.
647    pub identity_provider: Option<Box<AuthIdentityProvider>>,
648}
649/// Authentication session information.
650#[derive(Debug, Clone, Default, Serialize, Deserialize)]
651#[serde(rename_all = "camelCase", default)]
652pub struct AuthenticationSessionResponse {
653    /// The time at which the entity was created.
654    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
655    pub id: Option<String>,
656    /// Type of application used to authenticate.
657    pub r#type: Option<AuthenticationSessionType>,
658    /// IP address.
659    pub ip: Option<String>,
660    /// Location country name.
661    pub location_country: Option<String>,
662    /// Location country code.
663    pub location_country_code: Option<String>,
664    /// Country codes of all seen locations.
665    pub country_codes: Option<Vec<String>>,
666    /// Location region code.
667    pub location_region_code: Option<String>,
668    /// Location city name.
669    pub location_city: Option<String>,
670    /// Session's user-agent.
671    pub user_agent: Option<String>,
672    /// Used web browser.
673    pub browser_type: Option<String>,
674    /// Service used for logging in.
675    pub service: Option<String>,
676    /// When was the session last seen
677    pub last_active_at: Option<chrono::DateTime<chrono::Utc>>,
678    /// Date when the session was last updated.
679    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
680    /// Human readable location
681    pub location: Option<String>,
682    /// Operating system used for the session
683    pub operating_system: Option<String>,
684    /// Client used for the session
685    pub client: Option<String>,
686    /// Name of the session, derived from the client and operating system
687    pub name: Option<String>,
688    /// Identifies the session used to make the request.
689    pub is_current_session: Option<bool>,
690}
691/// A comment associated with an issue.
692#[derive(Debug, Clone, Default, Serialize, Deserialize)]
693#[serde(rename_all = "camelCase", default)]
694pub struct Comment {
695    /// The unique identifier of the entity.
696    pub id: Option<String>,
697    /// The time at which the entity was created.
698    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
699    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
700    /// been updated after creation.
701    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
702    /// The time at which the entity was archived. Null if the entity has not been archived.
703    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
704    /// The comment content in markdown format.
705    pub body: Option<String>,
706    /// The issue that the comment is associated with.
707    pub issue: Option<Box<Issue>>,
708    /// The ID of the issue that the comment is associated with.
709    pub issue_id: Option<String>,
710    /// The document content that the comment is associated with.
711    pub document_content: Option<Box<DocumentContent>>,
712    /// The ID of the document content that the comment is associated with.
713    pub document_content_id: Option<String>,
714    /// The project update that the comment is associated with.
715    pub project_update: Option<Box<ProjectUpdate>>,
716    /// The ID of the project update that the comment is associated with.
717    pub project_update_id: Option<String>,
718    /// The initiative update that the comment is associated with.
719    pub initiative_update: Option<Box<InitiativeUpdate>>,
720    /// The ID of the initiative update that the comment is associated with.
721    pub initiative_update_id: Option<String>,
722    /// The post that the comment is associated with.
723    pub post: Option<Box<Post>>,
724    /// The parent comment under which the current comment is nested.
725    pub parent: Option<Box<Comment>>,
726    /// The ID of the parent comment under which the current comment is nested.
727    pub parent_id: Option<String>,
728    /// The user that resolved the thread.
729    pub resolving_user: Option<Box<User>>,
730    /// The time the resolvingUser resolved the thread.
731    pub resolved_at: Option<chrono::DateTime<chrono::Utc>>,
732    /// The comment that resolved the thread.
733    pub resolving_comment: Option<Box<Comment>>,
734    /// The ID of the comment that resolved the thread.
735    pub resolving_comment_id: Option<String>,
736    /// The user who wrote the comment.
737    pub user: Option<Box<User>>,
738    /// The external user who wrote the comment.
739    pub external_user: Option<Box<ExternalUser>>,
740    /// The time user edited the comment.
741    pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
742    /// `Internal` The comment content as a Prosemirror document.
743    pub body_data: Option<String>,
744    /// The text that this comment references. Only defined for inline comments.
745    pub quoted_text: Option<String>,
746    /// Emoji reaction summary, grouped by emoji type.
747    pub reaction_data: Option<serde_json::Value>,
748    /// `Internal` A generated summary of the comment thread.
749    pub thread_summary: Option<serde_json::Value>,
750    /// `Internal` Whether the comment is an artificial placeholder for an agent session thread created without a comment mention.
751    pub is_artificial_agent_session_root: Option<bool>,
752    /// Comment's URL.
753    pub url: Option<String>,
754    /// The children of the comment.
755    pub children: Option<Box<CommentConnection>>,
756    /// Agent session associated with this comment.
757    pub agent_session: Option<Box<AgentSession>>,
758    /// `Internal` Agent sessions associated with this comment.
759    pub agent_sessions: Option<Box<AgentSessionConnection>>,
760    /// Issues created from this comment.
761    pub created_issues: Option<Box<IssueConnection>>,
762    /// The bot that created the comment.
763    pub bot_actor: Option<Box<ActorBot>>,
764    /// `Internal` The user on whose behalf the comment was created, e.g. when the Linear assistant creates a comment for a user.
765    pub on_behalf_of: Option<Box<User>>,
766    /// The external thread that the comment is synced with.
767    pub external_thread: Option<Box<SyncedExternalThread>>,
768    /// `Internal` Whether the comment should be hidden from Linear clients. This is typically used for bot comments that provide redundant information (e.g., Slack Asks confirmation messages).
769    pub hide_in_linear: Option<bool>,
770    /// Reactions associated with the comment.
771    pub reactions: Option<Box<Vec<Reaction>>>,
772    /// The external services the comment is synced with.
773    pub synced_with: Option<Box<Vec<ExternalEntityInfo>>>,
774}
775#[derive(Debug, Clone, Default, Serialize, Deserialize)]
776#[serde(rename_all = "camelCase", default)]
777pub struct CommentConnection {
778    pub edges: Option<Box<Vec<CommentEdge>>>,
779    pub nodes: Option<Box<Vec<Comment>>>,
780    pub page_info: Option<Box<PageInfo>>,
781}
782#[derive(Debug, Clone, Default, Serialize, Deserialize)]
783#[serde(rename_all = "camelCase", default)]
784pub struct CommentEdge {
785    pub node: Option<Box<Comment>>,
786    /// Used in `before` and `after` args
787    pub cursor: Option<String>,
788}
789#[derive(Debug, Clone, Default, Serialize, Deserialize)]
790#[serde(rename_all = "camelCase", default)]
791pub struct CommentPayload {
792    /// The identifier of the last sync operation.
793    pub last_sync_id: Option<f64>,
794    /// The comment that was created or updated.
795    pub comment: Option<Box<Comment>>,
796    /// Whether the operation was successful.
797    pub success: Option<bool>,
798}
799#[derive(Debug, Clone, Default, Serialize, Deserialize)]
800#[serde(rename_all = "camelCase", default)]
801pub struct ContactPayload {
802    /// Whether the operation was successful.
803    pub success: Option<bool>,
804}
805#[derive(Debug, Clone, Default, Serialize, Deserialize)]
806#[serde(rename_all = "camelCase", default)]
807pub struct CreateCsvExportReportPayload {
808    /// Whether the operation was successful.
809    pub success: Option<bool>,
810}
811#[derive(Debug, Clone, Default, Serialize, Deserialize)]
812#[serde(rename_all = "camelCase", default)]
813pub struct CreateOrJoinOrganizationResponse {
814    pub organization: Option<Box<AuthOrganization>>,
815    pub user: Option<Box<AuthUser>>,
816}
817/// A custom view that has been saved by a user.
818#[derive(Debug, Clone, Default, Serialize, Deserialize)]
819#[serde(rename_all = "camelCase", default)]
820pub struct CustomView {
821    /// The unique identifier of the entity.
822    pub id: Option<String>,
823    /// The time at which the entity was created.
824    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
825    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
826    /// been updated after creation.
827    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
828    /// The time at which the entity was archived. Null if the entity has not been archived.
829    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
830    /// The name of the custom view.
831    pub name: Option<String>,
832    /// The description of the custom view.
833    pub description: Option<String>,
834    /// The icon of the custom view.
835    pub icon: Option<String>,
836    /// The color of the icon of the custom view.
837    pub color: Option<String>,
838    /// The organization of the custom view.
839    pub organization: Option<Box<Organization>>,
840    /// The user who created the custom view.
841    pub creator: Option<Box<User>>,
842    /// The user who owns the custom view.
843    pub owner: Option<Box<User>>,
844    /// The user who last updated the custom view.
845    pub updated_by: Option<Box<User>>,
846    /// The filters applied to issues in the custom view.
847    pub filters: Option<serde_json::Value>,
848    /// The filter applied to issues in the custom view.
849    pub filter_data: Option<serde_json::Value>,
850    /// The filter applied to projects in the custom view.
851    pub project_filter_data: Option<serde_json::Value>,
852    /// The filter applied to initiatives in the custom view.
853    pub initiative_filter_data: Option<serde_json::Value>,
854    /// The filter applied to feed items in the custom view.
855    pub feed_item_filter_data: Option<serde_json::Value>,
856    /// Whether the custom view is shared with everyone in the organization.
857    pub shared: Option<bool>,
858    /// The custom view's unique URL slug.
859    pub slug_id: Option<String>,
860    /// The model name of the custom view.
861    pub model_name: Option<String>,
862    /// `INTERNAL` The facet associated with the custom view.
863    pub facet: Option<Box<Facet>>,
864    /// The team associated with the custom view.
865    pub team: Option<Box<Team>>,
866    /// Projects associated with the custom view.
867    pub projects: Option<Box<ProjectConnection>>,
868    /// Issues associated with the custom view.
869    pub issues: Option<Box<IssueConnection>>,
870    /// Feed items associated with the custom view.
871    pub updates: Option<Box<FeedItemConnection>>,
872    /// The current users view preferences for this custom view.
873    pub user_view_preferences: Option<Box<ViewPreferences>>,
874    /// The organizations default view preferences for this custom view.
875    pub organization_view_preferences: Option<Box<ViewPreferences>>,
876    /// The calculated view preferences values for this custom view.
877    pub view_preferences_values: Option<Box<ViewPreferencesValues>>,
878    /// Initiatives associated with the custom view.
879    pub initiatives: Option<Box<InitiativeConnection>>,
880}
881#[derive(Debug, Clone, Default, Serialize, Deserialize)]
882#[serde(rename_all = "camelCase", default)]
883pub struct CustomViewConnection {
884    pub edges: Option<Box<Vec<CustomViewEdge>>>,
885    pub nodes: Option<Box<Vec<CustomView>>>,
886    pub page_info: Option<Box<PageInfo>>,
887}
888#[derive(Debug, Clone, Default, Serialize, Deserialize)]
889#[serde(rename_all = "camelCase", default)]
890pub struct CustomViewEdge {
891    pub node: Option<Box<CustomView>>,
892    /// Used in `before` and `after` args
893    pub cursor: Option<String>,
894}
895#[derive(Debug, Clone, Default, Serialize, Deserialize)]
896#[serde(rename_all = "camelCase", default)]
897pub struct CustomViewHasSubscribersPayload {
898    /// Whether the custom view has subscribers.
899    pub has_subscribers: Option<bool>,
900}
901/// A custom view notification subscription.
902#[derive(Debug, Clone, Default, Serialize, Deserialize)]
903#[serde(rename_all = "camelCase", default)]
904pub struct CustomViewNotificationSubscription {
905    /// The unique identifier of the entity.
906    pub id: Option<String>,
907    /// The time at which the entity was created.
908    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
909    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
910    /// been updated after creation.
911    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
912    /// The time at which the entity was archived. Null if the entity has not been archived.
913    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
914    /// The user that subscribed to receive notifications.
915    pub subscriber: Option<Box<User>>,
916    /// The customer associated with the notification subscription.
917    pub customer: Option<Box<Customer>>,
918    /// The custom view subscribed to.
919    pub custom_view: Option<Box<CustomView>>,
920    /// The contextual cycle view associated with the notification subscription.
921    pub cycle: Option<Box<Cycle>>,
922    /// The contextual label view associated with the notification subscription.
923    pub label: Option<Box<IssueLabel>>,
924    /// The contextual project view associated with the notification subscription.
925    pub project: Option<Box<Project>>,
926    /// The contextual initiative view associated with the notification subscription.
927    pub initiative: Option<Box<Initiative>>,
928    /// The team associated with the notification subscription.
929    pub team: Option<Box<Team>>,
930    /// The user view associated with the notification subscription.
931    pub user: Option<Box<User>>,
932    /// The type of view to which the notification subscription context is associated with.
933    pub context_view_type: Option<ContextViewType>,
934    /// The type of user view to which the notification subscription context is associated with.
935    pub user_context_view_type: Option<UserContextViewType>,
936    /// Whether the subscription is active or not.
937    pub active: Option<bool>,
938    /// The type of subscription.
939    pub notification_subscription_types: Option<Vec<String>>,
940}
941#[derive(Debug, Clone, Default, Serialize, Deserialize)]
942#[serde(rename_all = "camelCase", default)]
943pub struct CustomViewPayload {
944    /// The identifier of the last sync operation.
945    pub last_sync_id: Option<f64>,
946    /// The custom view that was created or updated.
947    pub custom_view: Option<Box<CustomView>>,
948    /// Whether the operation was successful.
949    pub success: Option<bool>,
950}
951#[derive(Debug, Clone, Default, Serialize, Deserialize)]
952#[serde(rename_all = "camelCase", default)]
953pub struct CustomViewSuggestionPayload {
954    /// The suggested view name.
955    pub name: Option<String>,
956    /// The suggested view description.
957    pub description: Option<String>,
958    /// The suggested view icon.
959    pub icon: Option<String>,
960}
961/// A customer whose needs will be tied to issues or projects.
962#[derive(Debug, Clone, Default, Serialize, Deserialize)]
963#[serde(rename_all = "camelCase", default)]
964pub struct Customer {
965    /// The unique identifier of the entity.
966    pub id: Option<String>,
967    /// The time at which the entity was created.
968    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
969    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
970    /// been updated after creation.
971    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
972    /// The time at which the entity was archived. Null if the entity has not been archived.
973    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
974    /// The customer's name.
975    pub name: Option<String>,
976    /// The customer's logo URL.
977    pub logo_url: Option<String>,
978    /// The domains associated with this customer.
979    pub domains: Option<Vec<String>>,
980    /// The ids of the customers in external systems.
981    pub external_ids: Option<Vec<String>>,
982    /// The ID of the Slack channel used to interact with the customer.
983    pub slack_channel_id: Option<String>,
984    /// The user who owns the customer.
985    pub owner: Option<Box<User>>,
986    /// The current status of the customer.
987    pub status: Option<Box<CustomerStatus>>,
988    /// The annual revenue generated by the customer.
989    pub revenue: Option<i64>,
990    /// The size of the customer.
991    pub size: Option<f64>,
992    /// The tier of the customer.
993    pub tier: Option<Box<CustomerTier>>,
994    /// The approximate number of needs of the customer.
995    pub approximate_need_count: Option<f64>,
996    /// The customer's unique URL slug.
997    pub slug_id: Option<String>,
998    /// The ID of the main source, when a customer has multiple sources. Must be one of externalIds.
999    pub main_source_id: Option<String>,
1000    /// The integration that manages the Customer.
1001    pub integration: Option<Box<Integration>>,
1002    /// URL of the customer in Linear.
1003    pub url: Option<String>,
1004}
1005#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1006#[serde(rename_all = "camelCase", default)]
1007pub struct CustomerConnection {
1008    pub edges: Option<Box<Vec<CustomerEdge>>>,
1009    pub nodes: Option<Box<Vec<Customer>>>,
1010    pub page_info: Option<Box<PageInfo>>,
1011}
1012#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1013#[serde(rename_all = "camelCase", default)]
1014pub struct CustomerEdge {
1015    pub node: Option<Box<Customer>>,
1016    /// Used in `before` and `after` args
1017    pub cursor: Option<String>,
1018}
1019/// A customer need, expressed through a reference to an issue, project, or comment.
1020#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1021#[serde(rename_all = "camelCase", default)]
1022pub struct CustomerNeed {
1023    /// The unique identifier of the entity.
1024    pub id: Option<String>,
1025    /// The time at which the entity was created.
1026    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1027    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1028    /// been updated after creation.
1029    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1030    /// The time at which the entity was archived. Null if the entity has not been archived.
1031    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1032    /// The customer that this need is attached to.
1033    pub customer: Option<Box<Customer>>,
1034    /// The issue this need is referencing.
1035    pub issue: Option<Box<Issue>>,
1036    /// The project this need is referencing.
1037    pub project: Option<Box<Project>>,
1038    /// The comment this need is referencing.
1039    pub comment: Option<Box<Comment>>,
1040    /// The attachment this need is referencing.
1041    pub attachment: Option<Box<Attachment>>,
1042    /// The project attachment this need is referencing.
1043    pub project_attachment: Option<Box<ProjectAttachment>>,
1044    /// Whether the customer need is important or not. 0 = Not important, 1 = Important.
1045    pub priority: Option<f64>,
1046    /// The need content in markdown format.
1047    pub body: Option<String>,
1048    /// `Internal` The content of the need as a Prosemirror document.
1049    pub body_data: Option<String>,
1050    /// The creator of the customer need.
1051    pub creator: Option<Box<User>>,
1052    /// The issue this customer need was originally created on. Will be undefined if the customer need hasn't been moved.
1053    pub original_issue: Option<Box<Issue>>,
1054    /// The URL of the underlying attachment, if any
1055    pub url: Option<String>,
1056}
1057/// A generic payload return from entity archive mutations.
1058#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1059#[serde(rename_all = "camelCase", default)]
1060pub struct CustomerNeedArchivePayload {
1061    /// The identifier of the last sync operation.
1062    pub last_sync_id: Option<f64>,
1063    /// Whether the operation was successful.
1064    pub success: Option<bool>,
1065    /// The archived/unarchived entity. Null if entity was deleted.
1066    pub entity: Option<Box<CustomerNeed>>,
1067}
1068#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1069#[serde(rename_all = "camelCase", default)]
1070pub struct CustomerNeedConnection {
1071    pub edges: Option<Box<Vec<CustomerNeedEdge>>>,
1072    pub nodes: Option<Box<Vec<CustomerNeed>>>,
1073    pub page_info: Option<Box<PageInfo>>,
1074}
1075#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1076#[serde(rename_all = "camelCase", default)]
1077pub struct CustomerNeedEdge {
1078    pub node: Option<Box<CustomerNeed>>,
1079    /// Used in `before` and `after` args
1080    pub cursor: Option<String>,
1081}
1082/// A customer need related notification.
1083#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1084#[serde(rename_all = "camelCase", default)]
1085pub struct CustomerNeedNotification {
1086    /// The unique identifier of the entity.
1087    pub id: Option<String>,
1088    /// The time at which the entity was created.
1089    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1090    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1091    /// been updated after creation.
1092    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1093    /// The time at which the entity was archived. Null if the entity has not been archived.
1094    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1095    /// Notification type.
1096    pub r#type: Option<String>,
1097    /// The user that caused the notification.
1098    pub actor: Option<Box<User>>,
1099    /// The external user that caused the notification.
1100    pub external_user_actor: Option<Box<ExternalUser>>,
1101    /// The user that received the notification.
1102    pub user: Option<Box<User>>,
1103    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
1104    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
1105    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
1106    /// reminder has been sent.
1107    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
1108    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
1109    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
1110    /// The time at which a notification was unsnoozed..
1111    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
1112    /// The category of the notification.
1113    pub category: Option<NotificationCategory>,
1114    /// `Internal` URL to the target of the notification.
1115    pub url: Option<String>,
1116    /// `Internal` Inbox URL for the notification.
1117    pub inbox_url: Option<String>,
1118    /// `Internal` Notification title.
1119    pub title: Option<String>,
1120    /// `Internal` Notification subtitle.
1121    pub subtitle: Option<String>,
1122    /// `Internal` If notification actor was Linear.
1123    pub is_linear_actor: Option<bool>,
1124    /// `Internal` Notification avatar URL.
1125    pub actor_avatar_url: Option<String>,
1126    /// `Internal` Notification actor initials if avatar is not available.
1127    pub actor_initials: Option<String>,
1128    /// `Internal` Notification actor initials if avatar is not available.
1129    pub actor_avatar_color: Option<String>,
1130    /// `Internal` Issue's status type for issue notifications.
1131    pub issue_status_type: Option<String>,
1132    /// `Internal` Project update health for new updates.
1133    pub project_update_health: Option<String>,
1134    /// `Internal` Initiative update health for new updates.
1135    pub initiative_update_health: Option<String>,
1136    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
1137    pub grouping_key: Option<String>,
1138    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
1139    pub grouping_priority: Option<f64>,
1140    /// The bot that caused the notification.
1141    pub bot_actor: Option<Box<ActorBot>>,
1142    /// Related customer need.
1143    pub customer_need_id: Option<String>,
1144    /// The issue related to the notification.
1145    pub related_issue: Option<Box<Issue>>,
1146    /// The project related to the notification.
1147    pub related_project: Option<Box<Project>>,
1148    /// The customer need related to the notification.
1149    pub customer_need: Option<Box<CustomerNeed>>,
1150}
1151#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1152#[serde(rename_all = "camelCase", default)]
1153pub struct CustomerNeedPayload {
1154    /// The identifier of the last sync operation.
1155    pub last_sync_id: Option<f64>,
1156    /// The customer need that was created or updated.
1157    pub need: Option<Box<CustomerNeed>>,
1158    /// Whether the operation was successful.
1159    pub success: Option<bool>,
1160}
1161#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1162#[serde(rename_all = "camelCase", default)]
1163pub struct CustomerNeedUpdatePayload {
1164    /// The identifier of the last sync operation.
1165    pub last_sync_id: Option<f64>,
1166    /// The customer need that was created or updated.
1167    pub need: Option<Box<CustomerNeed>>,
1168    /// Whether the operation was successful.
1169    pub success: Option<bool>,
1170    /// The related customer needs that were updated.
1171    pub updated_related_needs: Option<Box<Vec<CustomerNeed>>>,
1172}
1173/// A customer related notification.
1174#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1175#[serde(rename_all = "camelCase", default)]
1176pub struct CustomerNotification {
1177    /// The unique identifier of the entity.
1178    pub id: Option<String>,
1179    /// The time at which the entity was created.
1180    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1181    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1182    /// been updated after creation.
1183    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1184    /// The time at which the entity was archived. Null if the entity has not been archived.
1185    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1186    /// Notification type.
1187    pub r#type: Option<String>,
1188    /// The user that caused the notification.
1189    pub actor: Option<Box<User>>,
1190    /// The external user that caused the notification.
1191    pub external_user_actor: Option<Box<ExternalUser>>,
1192    /// The user that received the notification.
1193    pub user: Option<Box<User>>,
1194    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
1195    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
1196    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
1197    /// reminder has been sent.
1198    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
1199    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
1200    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
1201    /// The time at which a notification was unsnoozed..
1202    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
1203    /// The category of the notification.
1204    pub category: Option<NotificationCategory>,
1205    /// `Internal` URL to the target of the notification.
1206    pub url: Option<String>,
1207    /// `Internal` Inbox URL for the notification.
1208    pub inbox_url: Option<String>,
1209    /// `Internal` Notification title.
1210    pub title: Option<String>,
1211    /// `Internal` Notification subtitle.
1212    pub subtitle: Option<String>,
1213    /// `Internal` If notification actor was Linear.
1214    pub is_linear_actor: Option<bool>,
1215    /// `Internal` Notification avatar URL.
1216    pub actor_avatar_url: Option<String>,
1217    /// `Internal` Notification actor initials if avatar is not available.
1218    pub actor_initials: Option<String>,
1219    /// `Internal` Notification actor initials if avatar is not available.
1220    pub actor_avatar_color: Option<String>,
1221    /// `Internal` Issue's status type for issue notifications.
1222    pub issue_status_type: Option<String>,
1223    /// `Internal` Project update health for new updates.
1224    pub project_update_health: Option<String>,
1225    /// `Internal` Initiative update health for new updates.
1226    pub initiative_update_health: Option<String>,
1227    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
1228    pub grouping_key: Option<String>,
1229    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
1230    pub grouping_priority: Option<f64>,
1231    /// The bot that caused the notification.
1232    pub bot_actor: Option<Box<ActorBot>>,
1233    /// Related customer.
1234    pub customer_id: Option<String>,
1235    /// The customer related to the notification.
1236    pub customer: Option<Box<Customer>>,
1237}
1238/// A customer notification subscription.
1239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1240#[serde(rename_all = "camelCase", default)]
1241pub struct CustomerNotificationSubscription {
1242    /// The unique identifier of the entity.
1243    pub id: Option<String>,
1244    /// The time at which the entity was created.
1245    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1246    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1247    /// been updated after creation.
1248    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1249    /// The time at which the entity was archived. Null if the entity has not been archived.
1250    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1251    /// The user that subscribed to receive notifications.
1252    pub subscriber: Option<Box<User>>,
1253    /// The customer subscribed to.
1254    pub customer: Option<Box<Customer>>,
1255    /// The contextual custom view associated with the notification subscription.
1256    pub custom_view: Option<Box<CustomView>>,
1257    /// The contextual cycle view associated with the notification subscription.
1258    pub cycle: Option<Box<Cycle>>,
1259    /// The contextual label view associated with the notification subscription.
1260    pub label: Option<Box<IssueLabel>>,
1261    /// The contextual project view associated with the notification subscription.
1262    pub project: Option<Box<Project>>,
1263    /// The contextual initiative view associated with the notification subscription.
1264    pub initiative: Option<Box<Initiative>>,
1265    /// The team associated with the notification subscription.
1266    pub team: Option<Box<Team>>,
1267    /// The user view associated with the notification subscription.
1268    pub user: Option<Box<User>>,
1269    /// The type of view to which the notification subscription context is associated with.
1270    pub context_view_type: Option<ContextViewType>,
1271    /// The type of user view to which the notification subscription context is associated with.
1272    pub user_context_view_type: Option<UserContextViewType>,
1273    /// Whether the subscription is active or not.
1274    pub active: Option<bool>,
1275    /// The type of subscription.
1276    pub notification_subscription_types: Option<Vec<String>>,
1277}
1278#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1279#[serde(rename_all = "camelCase", default)]
1280pub struct CustomerPayload {
1281    /// The identifier of the last sync operation.
1282    pub last_sync_id: Option<f64>,
1283    /// The customer that was created or updated.
1284    pub customer: Option<Box<Customer>>,
1285    /// Whether the operation was successful.
1286    pub success: Option<bool>,
1287}
1288/// A customer status.
1289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1290#[serde(rename_all = "camelCase", default)]
1291pub struct CustomerStatus {
1292    /// The unique identifier of the entity.
1293    pub id: Option<String>,
1294    /// The time at which the entity was created.
1295    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1296    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1297    /// been updated after creation.
1298    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1299    /// The time at which the entity was archived. Null if the entity has not been archived.
1300    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1301    /// The name of the status.
1302    pub name: Option<String>,
1303    /// The UI color of the status as a HEX string.
1304    pub color: Option<String>,
1305    /// Description of the status.
1306    pub description: Option<String>,
1307    /// The position of the status in the workspace's customers flow.
1308    pub position: Option<f64>,
1309    /// The display name of the status.
1310    pub display_name: Option<String>,
1311    /// The type of the customer status.
1312    pub r#type: Option<CustomerStatusType>,
1313}
1314#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1315#[serde(rename_all = "camelCase", default)]
1316pub struct CustomerStatusConnection {
1317    pub edges: Option<Box<Vec<CustomerStatusEdge>>>,
1318    pub nodes: Option<Box<Vec<CustomerStatus>>>,
1319    pub page_info: Option<Box<PageInfo>>,
1320}
1321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1322#[serde(rename_all = "camelCase", default)]
1323pub struct CustomerStatusEdge {
1324    pub node: Option<Box<CustomerStatus>>,
1325    /// Used in `before` and `after` args
1326    pub cursor: Option<String>,
1327}
1328#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1329#[serde(rename_all = "camelCase", default)]
1330pub struct CustomerStatusPayload {
1331    /// The identifier of the last sync operation.
1332    pub last_sync_id: Option<f64>,
1333    /// The customer status that was created or updated.
1334    pub status: Option<Box<CustomerStatus>>,
1335    /// Whether the operation was successful.
1336    pub success: Option<bool>,
1337}
1338/// A customer tier.
1339#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1340#[serde(rename_all = "camelCase", default)]
1341pub struct CustomerTier {
1342    /// The unique identifier of the entity.
1343    pub id: Option<String>,
1344    /// The time at which the entity was created.
1345    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1346    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1347    /// been updated after creation.
1348    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1349    /// The time at which the entity was archived. Null if the entity has not been archived.
1350    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1351    /// The name of the tier.
1352    pub name: Option<String>,
1353    /// The UI color of the tier as a HEX string.
1354    pub color: Option<String>,
1355    /// Description of the tier.
1356    pub description: Option<String>,
1357    /// The position of the tier in the workspace's customers flow.
1358    pub position: Option<f64>,
1359    /// The display name of the tier.
1360    pub display_name: Option<String>,
1361}
1362#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1363#[serde(rename_all = "camelCase", default)]
1364pub struct CustomerTierConnection {
1365    pub edges: Option<Box<Vec<CustomerTierEdge>>>,
1366    pub nodes: Option<Box<Vec<CustomerTier>>>,
1367    pub page_info: Option<Box<PageInfo>>,
1368}
1369#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1370#[serde(rename_all = "camelCase", default)]
1371pub struct CustomerTierEdge {
1372    pub node: Option<Box<CustomerTier>>,
1373    /// Used in `before` and `after` args
1374    pub cursor: Option<String>,
1375}
1376#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1377#[serde(rename_all = "camelCase", default)]
1378pub struct CustomerTierPayload {
1379    /// The identifier of the last sync operation.
1380    pub last_sync_id: Option<f64>,
1381    /// The customer tier that was created or updated.
1382    pub tier: Option<Box<CustomerTier>>,
1383    /// Whether the operation was successful.
1384    pub success: Option<bool>,
1385}
1386/// A set of issues to be resolved in a specified amount of time.
1387#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1388#[serde(rename_all = "camelCase", default)]
1389pub struct Cycle {
1390    /// The unique identifier of the entity.
1391    pub id: Option<String>,
1392    /// The time at which the entity was created.
1393    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1394    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1395    /// been updated after creation.
1396    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1397    /// The time at which the entity was archived. Null if the entity has not been archived.
1398    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1399    /// The number of the cycle.
1400    pub number: Option<f64>,
1401    /// The custom name of the cycle.
1402    pub name: Option<String>,
1403    /// The cycle's description.
1404    pub description: Option<String>,
1405    /// The start time of the cycle.
1406    pub starts_at: Option<chrono::DateTime<chrono::Utc>>,
1407    /// The end time of the cycle.
1408    pub ends_at: Option<chrono::DateTime<chrono::Utc>>,
1409    /// The completion time of the cycle. If null, the cycle hasn't been completed.
1410    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
1411    /// The time at which the cycle was automatically archived by the auto pruning process.
1412    pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
1413    /// The total number of issues in the cycle after each day.
1414    pub issue_count_history: Option<Vec<f64>>,
1415    /// The number of completed issues in the cycle after each day.
1416    pub completed_issue_count_history: Option<Vec<f64>>,
1417    /// The total number of estimation points after each day.
1418    pub scope_history: Option<Vec<f64>>,
1419    /// The number of completed estimation points after each day.
1420    pub completed_scope_history: Option<Vec<f64>>,
1421    /// The number of in progress estimation points after each day.
1422    pub in_progress_scope_history: Option<Vec<f64>>,
1423    /// The team that the cycle is associated with.
1424    pub team: Option<Box<Team>>,
1425    /// `Internal` The progress history of the cycle.
1426    pub progress_history: Option<serde_json::Value>,
1427    /// `Internal` The current progress of the cycle.
1428    pub current_progress: Option<serde_json::Value>,
1429    /// The cycle inherited from.
1430    pub inherited_from: Option<Box<Cycle>>,
1431    /// Whether the cycle is currently active.
1432    pub is_active: Option<bool>,
1433    /// Whether the cycle is in the future.
1434    pub is_future: Option<bool>,
1435    /// Whether the cycle is in the past.
1436    pub is_past: Option<bool>,
1437    /// Issues associated with the cycle.
1438    pub issues: Option<Box<IssueConnection>>,
1439    /// Issues that weren't completed when the cycle was closed.
1440    pub uncompleted_issues_upon_close: Option<Box<IssueConnection>>,
1441    /// The overall progress of the cycle. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
1442    pub progress: Option<f64>,
1443    /// Whether the cycle is the next cycle for the team.
1444    pub is_next: Option<bool>,
1445    /// Whether the cycle is the previous cycle for the team.
1446    pub is_previous: Option<bool>,
1447    /// `Internal` Documents associated with the cycle.
1448    pub documents: Option<Box<DocumentConnection>>,
1449    /// `Internal` Links associated with the cycle.
1450    pub links: Option<Box<EntityExternalLinkConnection>>,
1451}
1452/// A generic payload return from entity archive mutations.
1453#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1454#[serde(rename_all = "camelCase", default)]
1455pub struct CycleArchivePayload {
1456    /// The identifier of the last sync operation.
1457    pub last_sync_id: Option<f64>,
1458    /// Whether the operation was successful.
1459    pub success: Option<bool>,
1460    /// The archived/unarchived entity. Null if entity was deleted.
1461    pub entity: Option<Box<Cycle>>,
1462}
1463#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1464#[serde(rename_all = "camelCase", default)]
1465pub struct CycleConnection {
1466    pub edges: Option<Box<Vec<CycleEdge>>>,
1467    pub nodes: Option<Box<Vec<Cycle>>>,
1468    pub page_info: Option<Box<PageInfo>>,
1469}
1470#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1471#[serde(rename_all = "camelCase", default)]
1472pub struct CycleEdge {
1473    pub node: Option<Box<Cycle>>,
1474    /// Used in `before` and `after` args
1475    pub cursor: Option<String>,
1476}
1477/// A cycle notification subscription.
1478#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1479#[serde(rename_all = "camelCase", default)]
1480pub struct CycleNotificationSubscription {
1481    /// The unique identifier of the entity.
1482    pub id: Option<String>,
1483    /// The time at which the entity was created.
1484    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1485    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1486    /// been updated after creation.
1487    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1488    /// The time at which the entity was archived. Null if the entity has not been archived.
1489    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1490    /// The user that subscribed to receive notifications.
1491    pub subscriber: Option<Box<User>>,
1492    /// The customer associated with the notification subscription.
1493    pub customer: Option<Box<Customer>>,
1494    /// The contextual custom view associated with the notification subscription.
1495    pub custom_view: Option<Box<CustomView>>,
1496    /// The cycle subscribed to.
1497    pub cycle: Option<Box<Cycle>>,
1498    /// The contextual label view associated with the notification subscription.
1499    pub label: Option<Box<IssueLabel>>,
1500    /// The contextual project view associated with the notification subscription.
1501    pub project: Option<Box<Project>>,
1502    /// The contextual initiative view associated with the notification subscription.
1503    pub initiative: Option<Box<Initiative>>,
1504    /// The team associated with the notification subscription.
1505    pub team: Option<Box<Team>>,
1506    /// The user view associated with the notification subscription.
1507    pub user: Option<Box<User>>,
1508    /// The type of view to which the notification subscription context is associated with.
1509    pub context_view_type: Option<ContextViewType>,
1510    /// The type of user view to which the notification subscription context is associated with.
1511    pub user_context_view_type: Option<UserContextViewType>,
1512    /// Whether the subscription is active or not.
1513    pub active: Option<bool>,
1514    /// The type of subscription.
1515    pub notification_subscription_types: Option<Vec<String>>,
1516}
1517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1518#[serde(rename_all = "camelCase", default)]
1519pub struct CyclePayload {
1520    /// The identifier of the last sync operation.
1521    pub last_sync_id: Option<f64>,
1522    /// The Cycle that was created or updated.
1523    pub cycle: Option<Box<Cycle>>,
1524    /// Whether the operation was successful.
1525    pub success: Option<bool>,
1526}
1527/// `Internal` A dashboard, usually a collection of widgets to display several insights at once.
1528#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1529#[serde(rename_all = "camelCase", default)]
1530pub struct Dashboard {
1531    /// The unique identifier of the entity.
1532    pub id: Option<String>,
1533    /// The time at which the entity was created.
1534    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1535    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1536    /// been updated after creation.
1537    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1538    /// The time at which the entity was archived. Null if the entity has not been archived.
1539    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1540    /// The dashboard's unique URL slug.
1541    pub slug_id: Option<String>,
1542    /// The name of the dashboard.
1543    pub name: Option<String>,
1544    /// The description of the dashboard.
1545    pub description: Option<String>,
1546    /// The icon of the dashboard.
1547    pub icon: Option<String>,
1548    /// The color of the icon of the dashboard.
1549    pub color: Option<String>,
1550    /// The sort order of the dashboard within the organization or its team.
1551    pub sort_order: Option<f64>,
1552    /// Whether the dashboard is shared with everyone in the organization.
1553    pub shared: Option<bool>,
1554    /// The organization of the dashboard.
1555    pub organization: Option<Box<Organization>>,
1556    /// The user who created the dashboard.
1557    pub creator: Option<Box<User>>,
1558    /// The user who last updated the dashboard.
1559    pub updated_by: Option<Box<User>>,
1560    /// The owner of the dashboard.
1561    pub owner: Option<Box<User>>,
1562    /// The filter applied to all dashboard widgets showing issues data.
1563    pub issue_filter: Option<serde_json::Value>,
1564    /// The filter applied to all dashboard widgets showing projects data.
1565    pub project_filter: Option<serde_json::Value>,
1566    /// The widgets on the dashboard.
1567    pub widgets: Option<serde_json::Value>,
1568}
1569/// A generic payload return from entity deletion mutations.
1570#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1571#[serde(rename_all = "camelCase", default)]
1572pub struct DeletePayload {
1573    /// The identifier of the last sync operation.
1574    pub last_sync_id: Option<f64>,
1575    /// Whether the operation was successful.
1576    pub success: Option<bool>,
1577    /// The identifier of the deleted entity.
1578    pub entity_id: Option<String>,
1579}
1580/// A document that can be attached to different entities.
1581#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1582#[serde(rename_all = "camelCase", default)]
1583pub struct Document {
1584    /// The unique identifier of the entity.
1585    pub id: Option<String>,
1586    /// The time at which the entity was created.
1587    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1588    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1589    /// been updated after creation.
1590    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1591    /// The time at which the entity was archived. Null if the entity has not been archived.
1592    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1593    /// The document title.
1594    pub title: Option<String>,
1595    /// The icon of the document.
1596    pub icon: Option<String>,
1597    /// The color of the icon.
1598    pub color: Option<String>,
1599    /// The user who created the document.
1600    pub creator: Option<Box<User>>,
1601    /// The user who last updated the document.
1602    pub updated_by: Option<Box<User>>,
1603    /// The project that the document is associated with.
1604    pub project: Option<Box<Project>>,
1605    /// The initiative that the document is associated with.
1606    pub initiative: Option<Box<Initiative>>,
1607    /// `Internal` The team that the document is associated with.
1608    pub team: Option<Box<Team>>,
1609    /// The issue that the document is associated with.
1610    pub issue: Option<Box<Issue>>,
1611    /// `Internal` The release that the document is associated with.
1612    pub release: Option<Box<Release>>,
1613    /// `Internal` The cycle that the document is associated with.
1614    pub cycle: Option<Box<Cycle>>,
1615    /// The document's unique URL slug.
1616    pub slug_id: Option<String>,
1617    /// The last template that was applied to this document.
1618    pub last_applied_template: Option<Box<Template>>,
1619    /// The time at which the document was hidden. Null if the entity has not been hidden.
1620    pub hidden_at: Option<chrono::DateTime<chrono::Utc>>,
1621    /// A flag that indicates whether the document is in the trash bin.
1622    pub trashed: Option<bool>,
1623    /// The order of the item in the resources list.
1624    pub sort_order: Option<f64>,
1625    /// Comments associated with the document.
1626    pub comments: Option<Box<CommentConnection>>,
1627    /// The documents content in markdown format.
1628    pub content: Option<String>,
1629    /// `Internal` The documents content as YJS state.
1630    pub content_state: Option<String>,
1631    /// The ID of the document content associated with the document.
1632    pub document_content_id: Option<String>,
1633    /// The canonical url for the document.
1634    pub url: Option<String>,
1635}
1636/// A generic payload return from entity archive mutations.
1637#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1638#[serde(rename_all = "camelCase", default)]
1639pub struct DocumentArchivePayload {
1640    /// The identifier of the last sync operation.
1641    pub last_sync_id: Option<f64>,
1642    /// Whether the operation was successful.
1643    pub success: Option<bool>,
1644    /// The archived/unarchived entity. Null if entity was deleted.
1645    pub entity: Option<Box<Document>>,
1646}
1647#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1648#[serde(rename_all = "camelCase", default)]
1649pub struct DocumentConnection {
1650    pub edges: Option<Box<Vec<DocumentEdge>>>,
1651    pub nodes: Option<Box<Vec<Document>>>,
1652    pub page_info: Option<Box<PageInfo>>,
1653}
1654/// A document content for a project.
1655#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1656#[serde(rename_all = "camelCase", default)]
1657pub struct DocumentContent {
1658    /// The unique identifier of the entity.
1659    pub id: Option<String>,
1660    /// The time at which the entity was created.
1661    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1662    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1663    /// been updated after creation.
1664    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1665    /// The time at which the entity was archived. Null if the entity has not been archived.
1666    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1667    /// The document content in markdown format.
1668    pub content: Option<String>,
1669    /// The document content state as a base64 encoded string.
1670    pub content_state: Option<String>,
1671    /// The issue that the content is associated with.
1672    pub issue: Option<Box<Issue>>,
1673    /// `Internal` The pull request that the content is associated with.
1674    pub pull_request: Option<Box<PullRequest>>,
1675    /// The project that the content is associated with.
1676    pub project: Option<Box<Project>>,
1677    /// The initiative that the content is associated with.
1678    pub initiative: Option<Box<Initiative>>,
1679    /// The project milestone that the content is associated with.
1680    pub project_milestone: Option<Box<ProjectMilestone>>,
1681    /// The document that the content is associated with.
1682    pub document: Option<Box<Document>>,
1683    /// The AI prompt rules that the content is associated with.
1684    pub ai_prompt_rules: Option<Box<AiPromptRules>>,
1685    /// The welcome message that the content is associated with.
1686    pub welcome_message: Option<Box<WelcomeMessage>>,
1687    /// The time at which the document content was restored from a previous version.
1688    pub restored_at: Option<chrono::DateTime<chrono::Utc>>,
1689}
1690#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1691#[serde(rename_all = "camelCase", default)]
1692pub struct DocumentContentHistoryPayload {
1693    /// The document content history entries.
1694    pub history: Option<Box<Vec<DocumentContentHistoryType>>>,
1695    /// Whether the operation was successful.
1696    pub success: Option<bool>,
1697}
1698#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1699#[serde(rename_all = "camelCase", default)]
1700pub struct DocumentContentHistoryType {
1701    /// The UUID of the document content history entry.
1702    pub id: Option<String>,
1703    /// The date when the document content history entry was created.
1704    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1705    /// The date when the document content history snapshot was taken. This can be different than createdAt since the content is captured from its state at the previously known updatedAt timestamp in the case of an update. On document create, these timestamps can be the same.
1706    pub content_data_snapshot_at: Option<chrono::DateTime<chrono::Utc>>,
1707    /// `Internal` The document content as Prosemirror document.
1708    pub content_data: Option<serde_json::Value>,
1709    /// The ID of the author of the change.
1710    pub actor_ids: Option<Vec<String>>,
1711}
1712#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1713#[serde(rename_all = "camelCase", default)]
1714pub struct DocumentEdge {
1715    pub node: Option<Box<Document>>,
1716    /// Used in `before` and `after` args
1717    pub cursor: Option<String>,
1718}
1719/// A document related notification.
1720#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1721#[serde(rename_all = "camelCase", default)]
1722pub struct DocumentNotification {
1723    /// Related comment ID. Null if the notification is not related to a comment.
1724    pub comment_id: Option<String>,
1725    /// Related parent comment ID. Null if the notification is not related to a comment.
1726    pub parent_comment_id: Option<String>,
1727    /// Name of the reaction emoji related to the notification.
1728    pub reaction_emoji: Option<String>,
1729    /// The unique identifier of the entity.
1730    pub id: Option<String>,
1731    /// The time at which the entity was created.
1732    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1733    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1734    /// been updated after creation.
1735    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1736    /// The time at which the entity was archived. Null if the entity has not been archived.
1737    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1738    /// Notification type.
1739    pub r#type: Option<String>,
1740    /// The user that caused the notification.
1741    pub actor: Option<Box<User>>,
1742    /// The external user that caused the notification.
1743    pub external_user_actor: Option<Box<ExternalUser>>,
1744    /// The user that received the notification.
1745    pub user: Option<Box<User>>,
1746    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
1747    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
1748    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
1749    /// reminder has been sent.
1750    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
1751    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
1752    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
1753    /// The time at which a notification was unsnoozed..
1754    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
1755    /// The category of the notification.
1756    pub category: Option<NotificationCategory>,
1757    /// `Internal` URL to the target of the notification.
1758    pub url: Option<String>,
1759    /// `Internal` Inbox URL for the notification.
1760    pub inbox_url: Option<String>,
1761    /// `Internal` Notification title.
1762    pub title: Option<String>,
1763    /// `Internal` Notification subtitle.
1764    pub subtitle: Option<String>,
1765    /// `Internal` If notification actor was Linear.
1766    pub is_linear_actor: Option<bool>,
1767    /// `Internal` Notification avatar URL.
1768    pub actor_avatar_url: Option<String>,
1769    /// `Internal` Notification actor initials if avatar is not available.
1770    pub actor_initials: Option<String>,
1771    /// `Internal` Notification actor initials if avatar is not available.
1772    pub actor_avatar_color: Option<String>,
1773    /// `Internal` Issue's status type for issue notifications.
1774    pub issue_status_type: Option<String>,
1775    /// `Internal` Project update health for new updates.
1776    pub project_update_health: Option<String>,
1777    /// `Internal` Initiative update health for new updates.
1778    pub initiative_update_health: Option<String>,
1779    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
1780    pub grouping_key: Option<String>,
1781    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
1782    pub grouping_priority: Option<f64>,
1783    /// The bot that caused the notification.
1784    pub bot_actor: Option<Box<ActorBot>>,
1785    /// Related document ID.
1786    pub document_id: Option<String>,
1787}
1788#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1789#[serde(rename_all = "camelCase", default)]
1790pub struct DocumentPayload {
1791    /// The identifier of the last sync operation.
1792    pub last_sync_id: Option<f64>,
1793    /// The document that was created or updated.
1794    pub document: Option<Box<Document>>,
1795    /// Whether the operation was successful.
1796    pub success: Option<bool>,
1797}
1798#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1799#[serde(rename_all = "camelCase", default)]
1800pub struct DocumentSearchPayload {
1801    pub edges: Option<Box<Vec<DocumentSearchResultEdge>>>,
1802    pub nodes: Option<Box<Vec<DocumentSearchResult>>>,
1803    pub page_info: Option<Box<PageInfo>>,
1804    /// Archived entities matching the search term along with all their dependencies.
1805    pub archive_payload: Option<Box<ArchiveResponse>>,
1806    /// Total number of results for query without filters applied.
1807    pub total_count: Option<f64>,
1808}
1809#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1810#[serde(rename_all = "camelCase", default)]
1811pub struct DocumentSearchResult {
1812    /// The unique identifier of the entity.
1813    pub id: Option<String>,
1814    /// The time at which the entity was created.
1815    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1816    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1817    /// been updated after creation.
1818    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1819    /// The time at which the entity was archived. Null if the entity has not been archived.
1820    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1821    /// The document title.
1822    pub title: Option<String>,
1823    /// The icon of the document.
1824    pub icon: Option<String>,
1825    /// The color of the icon.
1826    pub color: Option<String>,
1827    /// The user who created the document.
1828    pub creator: Option<Box<User>>,
1829    /// The user who last updated the document.
1830    pub updated_by: Option<Box<User>>,
1831    /// The project that the document is associated with.
1832    pub project: Option<Box<Project>>,
1833    /// The initiative that the document is associated with.
1834    pub initiative: Option<Box<Initiative>>,
1835    /// `Internal` The team that the document is associated with.
1836    pub team: Option<Box<Team>>,
1837    /// The issue that the document is associated with.
1838    pub issue: Option<Box<Issue>>,
1839    /// `Internal` The release that the document is associated with.
1840    pub release: Option<Box<Release>>,
1841    /// `Internal` The cycle that the document is associated with.
1842    pub cycle: Option<Box<Cycle>>,
1843    /// The document's unique URL slug.
1844    pub slug_id: Option<String>,
1845    /// The last template that was applied to this document.
1846    pub last_applied_template: Option<Box<Template>>,
1847    /// The time at which the document was hidden. Null if the entity has not been hidden.
1848    pub hidden_at: Option<chrono::DateTime<chrono::Utc>>,
1849    /// A flag that indicates whether the document is in the trash bin.
1850    pub trashed: Option<bool>,
1851    /// The order of the item in the resources list.
1852    pub sort_order: Option<f64>,
1853    /// Comments associated with the document.
1854    pub comments: Option<Box<CommentConnection>>,
1855    /// The documents content in markdown format.
1856    pub content: Option<String>,
1857    /// `Internal` The documents content as YJS state.
1858    pub content_state: Option<String>,
1859    /// The ID of the document content associated with the document.
1860    pub document_content_id: Option<String>,
1861    /// The canonical url for the document.
1862    pub url: Option<String>,
1863    /// Metadata related to search result.
1864    pub metadata: Option<serde_json::Value>,
1865}
1866#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1867#[serde(rename_all = "camelCase", default)]
1868pub struct DocumentSearchResultEdge {
1869    pub node: Option<Box<DocumentSearchResult>>,
1870    /// Used in `before` and `after` args
1871    pub cursor: Option<String>,
1872}
1873/// A general purpose draft. Used for comments, project updates, etc.
1874#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1875#[serde(rename_all = "camelCase", default)]
1876pub struct Draft {
1877    /// The unique identifier of the entity.
1878    pub id: Option<String>,
1879    /// The time at which the entity was created.
1880    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1881    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1882    /// been updated after creation.
1883    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1884    /// The time at which the entity was archived. Null if the entity has not been archived.
1885    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1886    /// The text content as a Prosemirror document.
1887    pub body_data: Option<serde_json::Value>,
1888    /// Additional properties for the draft.
1889    pub data: Option<serde_json::Value>,
1890    /// Whether the draft was autogenerated for the user.
1891    pub is_autogenerated: Option<bool>,
1892    /// `INTERNAL` Whether the draft was ported from a local draft.
1893    pub was_local_draft: Option<bool>,
1894    /// The user who created the draft.
1895    pub user: Option<Box<User>>,
1896    /// The issue for which this is a draft comment.
1897    pub issue: Option<Box<Issue>>,
1898    /// The project for which this is a draft project update.
1899    pub project: Option<Box<Project>>,
1900    /// The project update for which this is a draft comment.
1901    pub project_update: Option<Box<ProjectUpdate>>,
1902    /// The initiative for which this is a draft initiative update.
1903    pub initiative: Option<Box<Initiative>>,
1904    /// The initiative update for which this is a draft comment.
1905    pub initiative_update: Option<Box<InitiativeUpdate>>,
1906    /// The post for which this is a draft comment.
1907    pub post: Option<Box<Post>>,
1908    /// The comment for which this is a draft comment reply.
1909    pub parent_comment: Option<Box<Comment>>,
1910    /// The customer need that this draft is referencing.
1911    pub customer_need: Option<Box<CustomerNeed>>,
1912    /// `INTERNAL` Allows for multiple drafts per entity (currently constrained to Pull Requests).
1913    pub anchor: Option<String>,
1914    /// The team for which this is a draft post.
1915    pub team: Option<Box<Team>>,
1916}
1917#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1918#[serde(rename_all = "camelCase", default)]
1919pub struct DraftConnection {
1920    pub edges: Option<Box<Vec<DraftEdge>>>,
1921    pub nodes: Option<Box<Vec<Draft>>>,
1922    pub page_info: Option<Box<PageInfo>>,
1923}
1924#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1925#[serde(rename_all = "camelCase", default)]
1926pub struct DraftEdge {
1927    pub node: Option<Box<Draft>>,
1928    /// Used in `before` and `after` args
1929    pub cursor: Option<String>,
1930}
1931/// An email address that can be used for submitting issues.
1932#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1933#[serde(rename_all = "camelCase", default)]
1934pub struct EmailIntakeAddress {
1935    /// The unique identifier of the entity.
1936    pub id: Option<String>,
1937    /// The time at which the entity was created.
1938    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
1939    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
1940    /// been updated after creation.
1941    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
1942    /// The time at which the entity was archived. Null if the entity has not been archived.
1943    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
1944    /// Unique email address user name (before @) used for incoming email.
1945    pub address: Option<String>,
1946    /// The type of the email address.
1947    pub r#type: Option<EmailIntakeAddressType>,
1948    /// The email address used to forward emails to the intake address.
1949    pub forwarding_email_address: Option<String>,
1950    /// The name to be used for outgoing emails.
1951    pub sender_name: Option<String>,
1952    /// Whether the email address is enabled.
1953    pub enabled: Option<bool>,
1954    /// Whether email replies are enabled.
1955    pub replies_enabled: Option<bool>,
1956    /// Whether the commenter's name is included in the email replies.
1957    pub use_user_names_in_replies: Option<bool>,
1958    /// The template that the email address is associated with.
1959    pub template: Option<Box<Template>>,
1960    /// The team that the email address is associated with.
1961    pub team: Option<Box<Team>>,
1962    /// The organization that the email address is associated with.
1963    pub organization: Option<Box<Organization>>,
1964    /// The SES domain identity that the email address is associated with.
1965    pub ses_domain_identity: Option<Box<SesDomainIdentity>>,
1966    /// The user who created the email intake address.
1967    pub creator: Option<Box<User>>,
1968    /// Whether issues created from that email address will be turned into customer requests.
1969    pub customer_requests_enabled: Option<bool>,
1970    /// The auto-reply message for issue created. If not set, the default reply will be used.
1971    pub issue_created_auto_reply: Option<String>,
1972    /// Whether the auto-reply for issue created is enabled.
1973    pub issue_created_auto_reply_enabled: Option<bool>,
1974    /// Whether the auto-reply for issue completed is enabled.
1975    pub issue_completed_auto_reply_enabled: Option<bool>,
1976    /// The auto-reply message for issue completed. If not set, the default reply will be used.
1977    pub issue_completed_auto_reply: Option<String>,
1978    /// Whether the auto-reply for issue canceled is enabled.
1979    pub issue_canceled_auto_reply_enabled: Option<bool>,
1980    /// The auto-reply message for issue canceled. If not set, the default reply will be used.
1981    pub issue_canceled_auto_reply: Option<String>,
1982}
1983#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1984#[serde(rename_all = "camelCase", default)]
1985pub struct EmailIntakeAddressPayload {
1986    /// The identifier of the last sync operation.
1987    pub last_sync_id: Option<f64>,
1988    /// The email address that was created or updated.
1989    pub email_intake_address: Option<Box<EmailIntakeAddress>>,
1990    /// Whether the operation was successful.
1991    pub success: Option<bool>,
1992}
1993#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1994#[serde(rename_all = "camelCase", default)]
1995pub struct EmailUnsubscribePayload {
1996    /// Whether the operation was successful.
1997    pub success: Option<bool>,
1998}
1999#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2000#[serde(rename_all = "camelCase", default)]
2001pub struct EmailUserAccountAuthChallengeResponse {
2002    /// Whether the operation was successful.
2003    pub success: Option<bool>,
2004    /// Supported challenge for this user account. Can be either verificationCode or password.
2005    pub auth_type: Option<String>,
2006}
2007/// A custom emoji.
2008#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2009#[serde(rename_all = "camelCase", default)]
2010pub struct Emoji {
2011    /// The unique identifier of the entity.
2012    pub id: Option<String>,
2013    /// The time at which the entity was created.
2014    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2015    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2016    /// been updated after creation.
2017    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2018    /// The time at which the entity was archived. Null if the entity has not been archived.
2019    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2020    /// The emoji's name.
2021    pub name: Option<String>,
2022    /// The emoji image URL.
2023    pub url: Option<String>,
2024    /// The source of the emoji.
2025    pub source: Option<String>,
2026    /// The user who created the emoji.
2027    pub creator: Option<Box<User>>,
2028    /// The organization that the emoji belongs to.
2029    pub organization: Option<Box<Organization>>,
2030}
2031#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2032#[serde(rename_all = "camelCase", default)]
2033pub struct EmojiConnection {
2034    pub edges: Option<Box<Vec<EmojiEdge>>>,
2035    pub nodes: Option<Box<Vec<Emoji>>>,
2036    pub page_info: Option<Box<PageInfo>>,
2037}
2038#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2039#[serde(rename_all = "camelCase", default)]
2040pub struct EmojiEdge {
2041    pub node: Option<Box<Emoji>>,
2042    /// Used in `before` and `after` args
2043    pub cursor: Option<String>,
2044}
2045#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2046#[serde(rename_all = "camelCase", default)]
2047pub struct EmojiPayload {
2048    /// The identifier of the last sync operation.
2049    pub last_sync_id: Option<f64>,
2050    /// The emoji that was created.
2051    pub emoji: Option<Box<Emoji>>,
2052    /// Whether the operation was successful.
2053    pub success: Option<bool>,
2054}
2055/// An external link for an entity like initiative, etc...
2056#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2057#[serde(rename_all = "camelCase", default)]
2058pub struct EntityExternalLink {
2059    /// The unique identifier of the entity.
2060    pub id: Option<String>,
2061    /// The time at which the entity was created.
2062    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2063    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2064    /// been updated after creation.
2065    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2066    /// The time at which the entity was archived. Null if the entity has not been archived.
2067    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2068    /// The link's URL.
2069    pub url: Option<String>,
2070    /// The link's label.
2071    pub label: Option<String>,
2072    /// The order of the item in the resources list.
2073    pub sort_order: Option<f64>,
2074    /// The user who created the link.
2075    pub creator: Option<Box<User>>,
2076    /// The initiative that the link is associated with.
2077    pub initiative: Option<Box<Initiative>>,
2078}
2079#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2080#[serde(rename_all = "camelCase", default)]
2081pub struct EntityExternalLinkConnection {
2082    pub edges: Option<Box<Vec<EntityExternalLinkEdge>>>,
2083    pub nodes: Option<Box<Vec<EntityExternalLink>>>,
2084    pub page_info: Option<Box<PageInfo>>,
2085}
2086#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2087#[serde(rename_all = "camelCase", default)]
2088pub struct EntityExternalLinkEdge {
2089    pub node: Option<Box<EntityExternalLink>>,
2090    /// Used in `before` and `after` args
2091    pub cursor: Option<String>,
2092}
2093#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2094#[serde(rename_all = "camelCase", default)]
2095pub struct EntityExternalLinkPayload {
2096    /// The identifier of the last sync operation.
2097    pub last_sync_id: Option<f64>,
2098    /// The link that was created or updated.
2099    pub entity_external_link: Option<Box<EntityExternalLink>>,
2100    /// Whether the operation was successful.
2101    pub success: Option<bool>,
2102}
2103/// Information about an external entity.
2104#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2105#[serde(rename_all = "camelCase", default)]
2106pub struct ExternalEntityInfo {
2107    /// The id of the external entity.
2108    pub id: Option<String>,
2109    /// The name of the service this entity is synced with.
2110    pub service: Option<ExternalSyncService>,
2111}
2112/// Metadata about the external GitHub entity.
2113#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2114#[serde(rename_all = "camelCase", default)]
2115pub struct ExternalEntityInfoGithubMetadata {
2116    /// The repository name.
2117    pub repo: Option<String>,
2118    /// The owner of the repository.
2119    pub owner: Option<String>,
2120    /// The number of the issue.
2121    pub number: Option<f64>,
2122}
2123/// Metadata about the external Jira entity.
2124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2125#[serde(rename_all = "camelCase", default)]
2126pub struct ExternalEntityInfoJiraMetadata {
2127    /// The key of the Jira issue.
2128    pub issue_key: Option<String>,
2129    /// The id of the Jira project.
2130    pub project_id: Option<String>,
2131    /// The id of the Jira issue type.
2132    pub issue_type_id: Option<String>,
2133}
2134/// Metadata about the external Slack entity.
2135#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2136#[serde(rename_all = "camelCase", default)]
2137pub struct ExternalEntitySlackMetadata {
2138    /// Whether the entity originated from Slack (not Linear).
2139    pub is_from_slack: Option<bool>,
2140    /// The id of the Slack channel.
2141    pub channel_id: Option<String>,
2142    /// The name of the Slack channel.
2143    pub channel_name: Option<String>,
2144    /// The URL of the Slack message.
2145    pub message_url: Option<String>,
2146}
2147/// An external authenticated (e.g., through Slack) user which doesn't have a Linear account, but can create and update entities in Linear from the external system that authenticated them.
2148#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2149#[serde(rename_all = "camelCase", default)]
2150pub struct ExternalUser {
2151    /// The unique identifier of the entity.
2152    pub id: Option<String>,
2153    /// The time at which the entity was created.
2154    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2155    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2156    /// been updated after creation.
2157    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2158    /// The time at which the entity was archived. Null if the entity has not been archived.
2159    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2160    /// The external user's full name.
2161    pub name: Option<String>,
2162    /// The external user's display name. Unique within each organization. Can match the display name of an actual user.
2163    pub display_name: Option<String>,
2164    /// The external user's email address.
2165    pub email: Option<String>,
2166    /// An URL to the external user's avatar image.
2167    pub avatar_url: Option<String>,
2168    /// Organization the external user belongs to.
2169    pub organization: Option<Box<Organization>>,
2170    /// The last time the external user was seen interacting with Linear.
2171    pub last_seen: Option<chrono::DateTime<chrono::Utc>>,
2172}
2173#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2174#[serde(rename_all = "camelCase", default)]
2175pub struct ExternalUserConnection {
2176    pub edges: Option<Box<Vec<ExternalUserEdge>>>,
2177    pub nodes: Option<Box<Vec<ExternalUser>>>,
2178    pub page_info: Option<Box<PageInfo>>,
2179}
2180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2181#[serde(rename_all = "camelCase", default)]
2182pub struct ExternalUserEdge {
2183    pub node: Option<Box<ExternalUser>>,
2184    /// Used in `before` and `after` args
2185    pub cursor: Option<String>,
2186}
2187/// A facet. Facets are joins between entities. A facet can tie a custom view to a project, or a a project to a roadmap for example.
2188#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2189#[serde(rename_all = "camelCase", default)]
2190pub struct Facet {
2191    /// The unique identifier of the entity.
2192    pub id: Option<String>,
2193    /// The time at which the entity was created.
2194    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2195    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2196    /// been updated after creation.
2197    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2198    /// The time at which the entity was archived. Null if the entity has not been archived.
2199    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2200    /// The sort order of the facet.
2201    pub sort_order: Option<f64>,
2202    /// The owning organization.
2203    pub source_organization: Option<Box<Organization>>,
2204    /// The owning team.
2205    pub source_team: Option<Box<Team>>,
2206    /// The owning project.
2207    pub source_project: Option<Box<Project>>,
2208    /// The owning initiative.
2209    pub source_initiative: Option<Box<Initiative>>,
2210    /// The owning feed user.
2211    pub source_feed_user: Option<Box<User>>,
2212    /// The owning page.
2213    pub source_page: Option<FacetPageSource>,
2214    /// The targeted custom view.
2215    pub target_custom_view: Option<Box<CustomView>>,
2216}
2217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2218#[serde(rename_all = "camelCase", default)]
2219pub struct FacetConnection {
2220    pub edges: Option<Box<Vec<FacetEdge>>>,
2221    pub nodes: Option<Box<Vec<Facet>>>,
2222    pub page_info: Option<Box<PageInfo>>,
2223}
2224#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2225#[serde(rename_all = "camelCase", default)]
2226pub struct FacetEdge {
2227    pub node: Option<Box<Facet>>,
2228    /// Used in `before` and `after` args
2229    pub cursor: Option<String>,
2230}
2231/// User favorites presented in the sidebar.
2232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2233#[serde(rename_all = "camelCase", default)]
2234pub struct Favorite {
2235    /// The unique identifier of the entity.
2236    pub id: Option<String>,
2237    /// The time at which the entity was created.
2238    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2239    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2240    /// been updated after creation.
2241    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2242    /// The time at which the entity was archived. Null if the entity has not been archived.
2243    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2244    /// The type of the favorite.
2245    pub r#type: Option<String>,
2246    /// The parent folder of the favorite.
2247    pub parent: Option<Box<Favorite>>,
2248    /// The name of the folder. Only applies to favorites of type folder.
2249    pub folder_name: Option<String>,
2250    /// The targeted tab of the project.
2251    pub project_tab: Option<ProjectTab>,
2252    /// The type of favorited predefined view.
2253    pub predefined_view_type: Option<String>,
2254    /// The targeted tab of the initiative.
2255    pub initiative_tab: Option<InitiativeTab>,
2256    /// The owner of the favorite.
2257    pub owner: Option<Box<User>>,
2258    /// The order of the item in the favorites list.
2259    pub sort_order: Option<f64>,
2260    /// Children of the favorite. Only applies to favorites of type folder.
2261    pub children: Option<Box<FavoriteConnection>>,
2262    /// The favorited issue.
2263    pub issue: Option<Box<Issue>>,
2264    /// The favorited project.
2265    pub project: Option<Box<Project>>,
2266    /// `INTERNAL` The favorited facet.
2267    pub facet: Option<Box<Facet>>,
2268    /// `DEPRECATED` The favorited team of the project.
2269    pub project_team: Option<Box<Team>>,
2270    /// The favorited cycle.
2271    pub cycle: Option<Box<Cycle>>,
2272    /// The favorited custom view.
2273    pub custom_view: Option<Box<CustomView>>,
2274    /// The team of the favorited predefined view.
2275    pub predefined_view_team: Option<Box<Team>>,
2276    /// The favorited document.
2277    pub document: Option<Box<Document>>,
2278    /// The favorited initiative.
2279    pub initiative: Option<Box<Initiative>>,
2280    /// The favorited label.
2281    pub label: Option<Box<IssueLabel>>,
2282    /// The favorited project label.
2283    pub project_label: Option<Box<ProjectLabel>>,
2284    /// The favorited user.
2285    pub user: Option<Box<User>>,
2286    /// The favorited customer.
2287    pub customer: Option<Box<Customer>>,
2288    /// The favorited dashboard.
2289    pub dashboard: Option<Box<Dashboard>>,
2290    /// The favorited pull request.
2291    pub pull_request: Option<Box<PullRequest>>,
2292    /// `ALPHA` The favorited release.
2293    pub release: Option<Box<Release>>,
2294    /// `ALPHA` The favorited release pipeline.
2295    pub release_pipeline: Option<Box<ReleasePipeline>>,
2296    /// URL of the favorited entity. Folders return 'null' value.
2297    pub url: Option<String>,
2298    /// `Internal` Favorite's title text (name of the favorite'd object or folder).
2299    pub title: Option<String>,
2300    /// `Internal` Detail text for favorite's `title` (e.g. team's name for a project).
2301    pub detail: Option<String>,
2302    /// `Internal` Returns the color of the favorite's icon. Unavailable for avatars and views with fixed icons (e.g. cycle).
2303    pub color: Option<String>,
2304    /// `Internal` Name of the favorite's icon. Unavailable for standard views, issues, and avatars
2305    pub icon: Option<String>,
2306}
2307#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2308#[serde(rename_all = "camelCase", default)]
2309pub struct FavoriteConnection {
2310    pub edges: Option<Box<Vec<FavoriteEdge>>>,
2311    pub nodes: Option<Box<Vec<Favorite>>>,
2312    pub page_info: Option<Box<PageInfo>>,
2313}
2314#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2315#[serde(rename_all = "camelCase", default)]
2316pub struct FavoriteEdge {
2317    pub node: Option<Box<Favorite>>,
2318    /// Used in `before` and `after` args
2319    pub cursor: Option<String>,
2320}
2321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2322#[serde(rename_all = "camelCase", default)]
2323pub struct FavoritePayload {
2324    /// The identifier of the last sync operation.
2325    pub last_sync_id: Option<f64>,
2326    /// The object that was added as a favorite.
2327    pub favorite: Option<Box<Favorite>>,
2328    /// Whether the operation was successful.
2329    pub success: Option<bool>,
2330}
2331/// `Internal` An item in a users feed.
2332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2333#[serde(rename_all = "camelCase", default)]
2334pub struct FeedItem {
2335    /// The unique identifier of the entity.
2336    pub id: Option<String>,
2337    /// The time at which the entity was created.
2338    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2339    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2340    /// been updated after creation.
2341    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2342    /// The time at which the entity was archived. Null if the entity has not been archived.
2343    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2344    /// The organization that will see this feed item.
2345    pub organization: Option<Box<Organization>>,
2346    /// The user that will see this feed item.
2347    pub user: Option<Box<User>>,
2348    /// The team that will see this feed item.
2349    pub team: Option<Box<Team>>,
2350    /// The project update that is in the feed.
2351    pub project_update: Option<Box<ProjectUpdate>>,
2352    /// The initiative update that is in the feed.
2353    pub initiative_update: Option<Box<InitiativeUpdate>>,
2354    /// The post that is in the feed.
2355    pub post: Option<Box<Post>>,
2356}
2357#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2358#[serde(rename_all = "camelCase", default)]
2359pub struct FeedItemConnection {
2360    pub edges: Option<Box<Vec<FeedItemEdge>>>,
2361    pub nodes: Option<Box<Vec<FeedItem>>>,
2362    pub page_info: Option<Box<PageInfo>>,
2363}
2364#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2365#[serde(rename_all = "camelCase", default)]
2366pub struct FeedItemEdge {
2367    pub node: Option<Box<FeedItem>>,
2368    /// Used in `before` and `after` args
2369    pub cursor: Option<String>,
2370}
2371#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2372#[serde(rename_all = "camelCase", default)]
2373pub struct FetchDataPayload {
2374    /// The fetched data based on the natural language query.
2375    pub data: Option<serde_json::Value>,
2376    /// The GraphQL query used to fetch the data.
2377    pub query: Option<String>,
2378    /// The filters used to fetch the data.
2379    pub filters: Option<serde_json::Value>,
2380    /// Whether the fetch operation was successful.
2381    pub success: Option<bool>,
2382}
2383#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2384#[serde(rename_all = "camelCase", default)]
2385pub struct FileUploadDeletePayload {
2386    /// Whether the operation was successful.
2387    pub success: Option<bool>,
2388}
2389#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2390#[serde(rename_all = "camelCase", default)]
2391pub struct FrontAttachmentPayload {
2392    /// The identifier of the last sync operation.
2393    pub last_sync_id: Option<f64>,
2394    /// The issue attachment that was created.
2395    pub attachment: Option<Box<Attachment>>,
2396    /// Whether the operation was successful.
2397    pub success: Option<bool>,
2398}
2399/// A trigger that updates the issue status according to Git automations.
2400#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2401#[serde(rename_all = "camelCase", default)]
2402pub struct GitAutomationState {
2403    /// The unique identifier of the entity.
2404    pub id: Option<String>,
2405    /// The time at which the entity was created.
2406    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2407    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2408    /// been updated after creation.
2409    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2410    /// The time at which the entity was archived. Null if the entity has not been archived.
2411    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2412    /// The associated workflow state.
2413    pub state: Option<Box<WorkflowState>>,
2414    /// The team to which this automation state belongs.
2415    pub team: Option<Box<Team>>,
2416    /// The target branch associated to this automation state.
2417    pub target_branch: Option<Box<GitAutomationTargetBranch>>,
2418    /// The event that triggers the automation.
2419    pub event: Option<GitAutomationStates>,
2420    /// `DEPRECATED` The target branch, if null, the automation will be triggered on any branch.
2421    pub branch_pattern: Option<String>,
2422}
2423#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2424#[serde(rename_all = "camelCase", default)]
2425pub struct GitAutomationStateConnection {
2426    pub edges: Option<Box<Vec<GitAutomationStateEdge>>>,
2427    pub nodes: Option<Box<Vec<GitAutomationState>>>,
2428    pub page_info: Option<Box<PageInfo>>,
2429}
2430#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2431#[serde(rename_all = "camelCase", default)]
2432pub struct GitAutomationStateEdge {
2433    pub node: Option<Box<GitAutomationState>>,
2434    /// Used in `before` and `after` args
2435    pub cursor: Option<String>,
2436}
2437#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2438#[serde(rename_all = "camelCase", default)]
2439pub struct GitAutomationStatePayload {
2440    /// The identifier of the last sync operation.
2441    pub last_sync_id: Option<f64>,
2442    /// The automation state that was created or updated.
2443    pub git_automation_state: Option<Box<GitAutomationState>>,
2444    /// Whether the operation was successful.
2445    pub success: Option<bool>,
2446}
2447/// A Git target branch for which there are automations (GitAutomationState).
2448#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2449#[serde(rename_all = "camelCase", default)]
2450pub struct GitAutomationTargetBranch {
2451    /// The unique identifier of the entity.
2452    pub id: Option<String>,
2453    /// The time at which the entity was created.
2454    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2455    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2456    /// been updated after creation.
2457    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2458    /// The time at which the entity was archived. Null if the entity has not been archived.
2459    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2460    /// The team to which this Git target branch automation belongs.
2461    pub team: Option<Box<Team>>,
2462    /// The target branch pattern.
2463    pub branch_pattern: Option<String>,
2464    /// Whether the branch pattern is a regular expression.
2465    pub is_regex: Option<bool>,
2466    /// Automation states associated with the target branch.
2467    pub automation_states: Option<Box<GitAutomationStateConnection>>,
2468}
2469#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2470#[serde(rename_all = "camelCase", default)]
2471pub struct GitAutomationTargetBranchPayload {
2472    /// The identifier of the last sync operation.
2473    pub last_sync_id: Option<f64>,
2474    /// The Git target branch automation that was created or updated.
2475    pub target_branch: Option<Box<GitAutomationTargetBranch>>,
2476    /// Whether the operation was successful.
2477    pub success: Option<bool>,
2478}
2479#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2480#[serde(rename_all = "camelCase", default)]
2481pub struct GitHubCommitIntegrationPayload {
2482    /// The identifier of the last sync operation.
2483    pub last_sync_id: Option<f64>,
2484    /// The integration that was created or updated.
2485    pub integration: Option<Box<Integration>>,
2486    /// Whether the operation was successful.
2487    pub success: Option<bool>,
2488    /// The webhook secret to provide to GitHub.
2489    pub webhook_secret: Option<String>,
2490}
2491#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2492#[serde(rename_all = "camelCase", default)]
2493pub struct GitHubEnterpriseServerInstallVerificationPayload {
2494    /// Has the install been successful.
2495    pub success: Option<bool>,
2496}
2497#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2498#[serde(rename_all = "camelCase", default)]
2499pub struct GitHubEnterpriseServerPayload {
2500    /// The identifier of the last sync operation.
2501    pub last_sync_id: Option<f64>,
2502    /// The integration that was created or updated.
2503    pub integration: Option<Box<Integration>>,
2504    /// Whether the operation was successful.
2505    pub success: Option<bool>,
2506    /// The setup address.
2507    pub setup_url: Option<String>,
2508    /// The app install address.
2509    pub install_url: Option<String>,
2510    /// The webhook secret to provide to GitHub.
2511    pub webhook_secret: Option<String>,
2512}
2513#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2514#[serde(rename_all = "camelCase", default)]
2515pub struct GitLabIntegrationCreatePayload {
2516    /// The identifier of the last sync operation.
2517    pub last_sync_id: Option<f64>,
2518    /// The integration that was created or updated.
2519    pub integration: Option<Box<Integration>>,
2520    /// Whether the operation was successful.
2521    pub success: Option<bool>,
2522    /// The webhook secret to provide to GitLab.
2523    pub webhook_secret: Option<String>,
2524    /// Error message if the connection failed.
2525    pub error: Option<String>,
2526    /// Response body from GitLab for debugging.
2527    pub error_response_body: Option<String>,
2528    /// Response headers from GitLab for debugging (JSON stringified).
2529    pub error_response_headers: Option<String>,
2530}
2531#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2532#[serde(rename_all = "camelCase", default)]
2533pub struct GitLabTestConnectionPayload {
2534    /// The identifier of the last sync operation.
2535    pub last_sync_id: Option<f64>,
2536    /// The integration that was created or updated.
2537    pub integration: Option<Box<Integration>>,
2538    /// Whether the operation was successful.
2539    pub success: Option<bool>,
2540    /// Error message if the connection test failed.
2541    pub error: Option<String>,
2542    /// Response body from GitLab for debugging.
2543    pub error_response_body: Option<String>,
2544    /// Response headers from GitLab for debugging (JSON stringified).
2545    pub error_response_headers: Option<String>,
2546}
2547/// An identity provider.
2548#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2549#[serde(rename_all = "camelCase", default)]
2550pub struct IdentityProvider {
2551    /// The unique identifier of the entity.
2552    pub id: Option<String>,
2553    /// The time at which the entity was created.
2554    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2555    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2556    /// been updated after creation.
2557    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2558    /// The time at which the entity was archived. Null if the entity has not been archived.
2559    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2560    /// Whether the identity provider is the default identity provider migrated from organization level settings.
2561    pub default_migrated: Option<bool>,
2562    /// The type of identity provider.
2563    pub r#type: Option<IdentityProviderType>,
2564    /// Whether SAML authentication is enabled for organization.
2565    pub saml_enabled: Option<bool>,
2566    /// Sign in endpoint URL for the identity provider.
2567    pub sso_endpoint: Option<String>,
2568    /// Binding method for authentication call. Can be either `post` (default) or `redirect`.
2569    pub sso_binding: Option<String>,
2570    /// The algorithm of the Signing Certificate. Can be one of `sha1`, `sha256` (default), or `sha512`.
2571    pub sso_sign_algo: Option<String>,
2572    /// X.509 Signing Certificate in string form.
2573    pub sso_signing_cert: Option<String>,
2574    /// The issuer's custom entity ID.
2575    pub issuer_entity_id: Option<String>,
2576    /// The service provider (Linear) custom entity ID. Defaults to <https://auth.linear.app/sso>
2577    pub sp_entity_id: Option<String>,
2578    /// The SAML priority used to pick default workspace in SAML SP initiated flow, when same domain is claimed for SAML by multiple workspaces. Lower priority value means higher preference.
2579    pub priority: Option<f64>,
2580    /// Whether SCIM provisioning is enabled for organization.
2581    pub scim_enabled: Option<bool>,
2582    /// `INTERNAL` SCIM owners group push settings.
2583    pub owners_group_push: Option<serde_json::Value>,
2584    /// `INTERNAL` SCIM admins group push settings.
2585    pub admins_group_push: Option<serde_json::Value>,
2586    /// `INTERNAL` SCIM guests group push settings.
2587    pub guests_group_push: Option<serde_json::Value>,
2588    /// Whether users are allowed to change their name and display name even if SCIM is enabled.
2589    pub allow_name_change: Option<bool>,
2590}
2591#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2592#[serde(rename_all = "camelCase", default)]
2593pub struct ImageUploadFromUrlPayload {
2594    /// The identifier of the last sync operation.
2595    pub last_sync_id: Option<f64>,
2596    /// The URL containing the image.
2597    pub url: Option<String>,
2598    /// Whether the operation was successful.
2599    pub success: Option<bool>,
2600}
2601/// An initiative to group projects.
2602#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2603#[serde(rename_all = "camelCase", default)]
2604pub struct Initiative {
2605    /// The unique identifier of the entity.
2606    pub id: Option<String>,
2607    /// The time at which the entity was created.
2608    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2609    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2610    /// been updated after creation.
2611    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2612    /// The time at which the entity was archived. Null if the entity has not been archived.
2613    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2614    /// The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
2615    pub update_reminder_frequency_in_weeks: Option<f64>,
2616    /// The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
2617    pub update_reminder_frequency: Option<f64>,
2618    /// The resolution of the reminder frequency.
2619    pub frequency_resolution: Option<FrequencyResolutionType>,
2620    /// The day at which to prompt for updates.
2621    pub update_reminders_day: Option<Day>,
2622    /// The hour at which to prompt for updates.
2623    pub update_reminders_hour: Option<f64>,
2624    /// The name of the initiative.
2625    pub name: Option<String>,
2626    /// The description of the initiative.
2627    pub description: Option<String>,
2628    /// The organization of the initiative.
2629    pub organization: Option<Box<Organization>>,
2630    /// The user who created the initiative.
2631    pub creator: Option<Box<User>>,
2632    /// The user who owns the initiative.
2633    pub owner: Option<Box<User>>,
2634    /// The initiative's unique URL slug.
2635    pub slug_id: Option<String>,
2636    /// The sort order of the initiative within the organization.
2637    pub sort_order: Option<f64>,
2638    /// The initiative's color.
2639    pub color: Option<String>,
2640    /// The icon of the initiative.
2641    pub icon: Option<String>,
2642    /// A flag that indicates whether the initiative is in the trash bin.
2643    pub trashed: Option<bool>,
2644    /// `Internal` Facets associated with the initiative.
2645    pub facets: Option<Box<Vec<Facet>>>,
2646    /// The estimated completion date of the initiative.
2647    pub target_date: Option<chrono::NaiveDate>,
2648    /// The resolution of the initiative's estimated completion date.
2649    pub target_date_resolution: Option<DateResolutionType>,
2650    /// The status of the initiative. One of Planned, Active, Completed
2651    pub status: Option<InitiativeStatus>,
2652    /// The last initiative update posted for this initiative.
2653    pub last_update: Option<Box<InitiativeUpdate>>,
2654    /// The health of the initiative.
2655    pub health: Option<InitiativeUpdateHealthType>,
2656    /// The time at which the initiative health was updated.
2657    pub health_updated_at: Option<chrono::DateTime<chrono::Utc>>,
2658    /// The time at which the initiative was moved into active status.
2659    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
2660    /// The time at which the initiative was moved into completed status.
2661    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
2662    /// Initiative URL.
2663    pub url: Option<String>,
2664    /// Projects associated with the initiative.
2665    pub projects: Option<Box<ProjectConnection>>,
2666    /// Links associated with the initiative.
2667    pub links: Option<Box<EntityExternalLinkConnection>>,
2668    /// Settings for all integrations associated with that initiative.
2669    pub integrations_settings: Option<Box<IntegrationsSettings>>,
2670    /// History entries associated with the initiative.
2671    pub history: Option<Box<InitiativeHistoryConnection>>,
2672    /// Initiative updates associated with the initiative.
2673    pub initiative_updates: Option<Box<InitiativeUpdateConnection>>,
2674    /// Sub-initiatives associated with the initiative.
2675    pub sub_initiatives: Option<Box<InitiativeConnection>>,
2676    /// Parent initiative associated with the initiative.
2677    pub parent_initiative: Option<Box<Initiative>>,
2678    /// `Internal` Parent initiatives associated with the initiative.
2679    pub parent_initiatives: Option<Box<InitiativeConnection>>,
2680    /// The initiative's content in markdown format.
2681    pub content: Option<String>,
2682    /// The content of the initiative description.
2683    pub document_content: Option<Box<DocumentContent>>,
2684    /// Documents associated with the initiative.
2685    pub documents: Option<Box<DocumentConnection>>,
2686}
2687/// A generic payload return from entity archive mutations.
2688#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2689#[serde(rename_all = "camelCase", default)]
2690pub struct InitiativeArchivePayload {
2691    /// The identifier of the last sync operation.
2692    pub last_sync_id: Option<f64>,
2693    /// Whether the operation was successful.
2694    pub success: Option<bool>,
2695    /// The archived/unarchived entity. Null if entity was deleted.
2696    pub entity: Option<Box<Initiative>>,
2697}
2698#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2699#[serde(rename_all = "camelCase", default)]
2700pub struct InitiativeConnection {
2701    pub edges: Option<Box<Vec<InitiativeEdge>>>,
2702    pub nodes: Option<Box<Vec<Initiative>>>,
2703    pub page_info: Option<Box<PageInfo>>,
2704}
2705#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2706#[serde(rename_all = "camelCase", default)]
2707pub struct InitiativeEdge {
2708    pub node: Option<Box<Initiative>>,
2709    /// Used in `before` and `after` args
2710    pub cursor: Option<String>,
2711}
2712/// A initiative history containing relevant change events.
2713#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2714#[serde(rename_all = "camelCase", default)]
2715pub struct InitiativeHistory {
2716    /// The unique identifier of the entity.
2717    pub id: Option<String>,
2718    /// The time at which the entity was created.
2719    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2720    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2721    /// been updated after creation.
2722    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2723    /// The time at which the entity was archived. Null if the entity has not been archived.
2724    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2725    /// The events that happened while recording that history.
2726    pub entries: Option<serde_json::Value>,
2727    /// The initiative that the history is associated with.
2728    pub initiative: Option<Box<Initiative>>,
2729}
2730#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2731#[serde(rename_all = "camelCase", default)]
2732pub struct InitiativeHistoryConnection {
2733    pub edges: Option<Box<Vec<InitiativeHistoryEdge>>>,
2734    pub nodes: Option<Box<Vec<InitiativeHistory>>>,
2735    pub page_info: Option<Box<PageInfo>>,
2736}
2737#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2738#[serde(rename_all = "camelCase", default)]
2739pub struct InitiativeHistoryEdge {
2740    pub node: Option<Box<InitiativeHistory>>,
2741    /// Used in `before` and `after` args
2742    pub cursor: Option<String>,
2743}
2744/// An initiative related notification.
2745#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2746#[serde(rename_all = "camelCase", default)]
2747pub struct InitiativeNotification {
2748    /// Related comment ID. Null if the notification is not related to a comment.
2749    pub comment_id: Option<String>,
2750    /// Related parent comment ID. Null if the notification is not related to a comment.
2751    pub parent_comment_id: Option<String>,
2752    /// Name of the reaction emoji related to the notification.
2753    pub reaction_emoji: Option<String>,
2754    /// The unique identifier of the entity.
2755    pub id: Option<String>,
2756    /// The time at which the entity was created.
2757    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2758    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2759    /// been updated after creation.
2760    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2761    /// The time at which the entity was archived. Null if the entity has not been archived.
2762    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2763    /// Notification type.
2764    pub r#type: Option<String>,
2765    /// The user that caused the notification.
2766    pub actor: Option<Box<User>>,
2767    /// The external user that caused the notification.
2768    pub external_user_actor: Option<Box<ExternalUser>>,
2769    /// The user that received the notification.
2770    pub user: Option<Box<User>>,
2771    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
2772    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
2773    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
2774    /// reminder has been sent.
2775    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
2776    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
2777    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
2778    /// The time at which a notification was unsnoozed..
2779    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
2780    /// The category of the notification.
2781    pub category: Option<NotificationCategory>,
2782    /// `Internal` URL to the target of the notification.
2783    pub url: Option<String>,
2784    /// `Internal` Inbox URL for the notification.
2785    pub inbox_url: Option<String>,
2786    /// `Internal` Notification title.
2787    pub title: Option<String>,
2788    /// `Internal` Notification subtitle.
2789    pub subtitle: Option<String>,
2790    /// `Internal` If notification actor was Linear.
2791    pub is_linear_actor: Option<bool>,
2792    /// `Internal` Notification avatar URL.
2793    pub actor_avatar_url: Option<String>,
2794    /// `Internal` Notification actor initials if avatar is not available.
2795    pub actor_initials: Option<String>,
2796    /// `Internal` Notification actor initials if avatar is not available.
2797    pub actor_avatar_color: Option<String>,
2798    /// `Internal` Issue's status type for issue notifications.
2799    pub issue_status_type: Option<String>,
2800    /// `Internal` Project update health for new updates.
2801    pub project_update_health: Option<String>,
2802    /// `Internal` Initiative update health for new updates.
2803    pub initiative_update_health: Option<String>,
2804    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
2805    pub grouping_key: Option<String>,
2806    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
2807    pub grouping_priority: Option<f64>,
2808    /// The bot that caused the notification.
2809    pub bot_actor: Option<Box<ActorBot>>,
2810    /// Related initiative ID.
2811    pub initiative_id: Option<String>,
2812    /// Related initiative update ID.
2813    pub initiative_update_id: Option<String>,
2814    /// The initiative related to the notification.
2815    pub initiative: Option<Box<Initiative>>,
2816    /// The document related to the notification.
2817    pub document: Option<Box<Document>>,
2818    /// The initiative update related to the notification.
2819    pub initiative_update: Option<Box<InitiativeUpdate>>,
2820    /// The comment related to the notification.
2821    pub comment: Option<Box<Comment>>,
2822    /// The parent comment related to the notification, if a notification is a reply comment notification.
2823    pub parent_comment: Option<Box<Comment>>,
2824}
2825/// An initiative notification subscription.
2826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2827#[serde(rename_all = "camelCase", default)]
2828pub struct InitiativeNotificationSubscription {
2829    /// The unique identifier of the entity.
2830    pub id: Option<String>,
2831    /// The time at which the entity was created.
2832    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2833    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2834    /// been updated after creation.
2835    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2836    /// The time at which the entity was archived. Null if the entity has not been archived.
2837    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2838    /// The user that subscribed to receive notifications.
2839    pub subscriber: Option<Box<User>>,
2840    /// The customer associated with the notification subscription.
2841    pub customer: Option<Box<Customer>>,
2842    /// The contextual custom view associated with the notification subscription.
2843    pub custom_view: Option<Box<CustomView>>,
2844    /// The contextual cycle view associated with the notification subscription.
2845    pub cycle: Option<Box<Cycle>>,
2846    /// The contextual label view associated with the notification subscription.
2847    pub label: Option<Box<IssueLabel>>,
2848    /// The contextual project view associated with the notification subscription.
2849    pub project: Option<Box<Project>>,
2850    /// The initiative subscribed to.
2851    pub initiative: Option<Box<Initiative>>,
2852    /// The team associated with the notification subscription.
2853    pub team: Option<Box<Team>>,
2854    /// The user view associated with the notification subscription.
2855    pub user: Option<Box<User>>,
2856    /// The type of view to which the notification subscription context is associated with.
2857    pub context_view_type: Option<ContextViewType>,
2858    /// The type of user view to which the notification subscription context is associated with.
2859    pub user_context_view_type: Option<UserContextViewType>,
2860    /// Whether the subscription is active or not.
2861    pub active: Option<bool>,
2862    /// The type of subscription.
2863    pub notification_subscription_types: Option<Vec<String>>,
2864}
2865/// The payload returned by the initiative mutations.
2866#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2867#[serde(rename_all = "camelCase", default)]
2868pub struct InitiativePayload {
2869    /// The identifier of the last sync operation.
2870    pub last_sync_id: Option<f64>,
2871    /// The initiative that was created or updated.
2872    pub initiative: Option<Box<Initiative>>,
2873    /// Whether the operation was successful.
2874    pub success: Option<bool>,
2875}
2876/// A relation representing the dependency between two initiatives.
2877#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2878#[serde(rename_all = "camelCase", default)]
2879pub struct InitiativeRelation {
2880    /// The unique identifier of the entity.
2881    pub id: Option<String>,
2882    /// The time at which the entity was created.
2883    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2884    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2885    /// been updated after creation.
2886    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2887    /// The time at which the entity was archived. Null if the entity has not been archived.
2888    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2889    /// The parent initiative.
2890    pub initiative: Option<Box<Initiative>>,
2891    /// The child initiative.
2892    pub related_initiative: Option<Box<Initiative>>,
2893    /// The last user who created or modified the relation.
2894    pub user: Option<Box<User>>,
2895    /// The sort order of the relation within the initiative.
2896    pub sort_order: Option<f64>,
2897}
2898#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2899#[serde(rename_all = "camelCase", default)]
2900pub struct InitiativeRelationConnection {
2901    pub edges: Option<Box<Vec<InitiativeRelationEdge>>>,
2902    pub nodes: Option<Box<Vec<InitiativeRelation>>>,
2903    pub page_info: Option<Box<PageInfo>>,
2904}
2905#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2906#[serde(rename_all = "camelCase", default)]
2907pub struct InitiativeRelationEdge {
2908    pub node: Option<Box<InitiativeRelation>>,
2909    /// Used in `before` and `after` args
2910    pub cursor: Option<String>,
2911}
2912#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2913#[serde(rename_all = "camelCase", default)]
2914pub struct InitiativeRelationPayload {
2915    /// The identifier of the last sync operation.
2916    pub last_sync_id: Option<f64>,
2917    /// The initiative relation that was created or updated.
2918    pub initiative_relation: Option<Box<InitiativeRelation>>,
2919    /// Whether the operation was successful.
2920    pub success: Option<bool>,
2921}
2922/// Join table between projects and initiatives.
2923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2924#[serde(rename_all = "camelCase", default)]
2925pub struct InitiativeToProject {
2926    /// The unique identifier of the entity.
2927    pub id: Option<String>,
2928    /// The time at which the entity was created.
2929    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2930    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2931    /// been updated after creation.
2932    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2933    /// The time at which the entity was archived. Null if the entity has not been archived.
2934    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2935    /// The project that the initiative is associated with.
2936    pub project: Option<Box<Project>>,
2937    /// The initiative that the project is associated with.
2938    pub initiative: Option<Box<Initiative>>,
2939    /// The sort order of the project within the initiative.
2940    pub sort_order: Option<String>,
2941}
2942#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2943#[serde(rename_all = "camelCase", default)]
2944pub struct InitiativeToProjectConnection {
2945    pub edges: Option<Box<Vec<InitiativeToProjectEdge>>>,
2946    pub nodes: Option<Box<Vec<InitiativeToProject>>>,
2947    pub page_info: Option<Box<PageInfo>>,
2948}
2949#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2950#[serde(rename_all = "camelCase", default)]
2951pub struct InitiativeToProjectEdge {
2952    pub node: Option<Box<InitiativeToProject>>,
2953    /// Used in `before` and `after` args
2954    pub cursor: Option<String>,
2955}
2956/// The result of a initiativeToProject mutation.
2957#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2958#[serde(rename_all = "camelCase", default)]
2959pub struct InitiativeToProjectPayload {
2960    /// The identifier of the last sync operation.
2961    pub last_sync_id: Option<f64>,
2962    /// The initiativeToProject that was created or updated.
2963    pub initiative_to_project: Option<Box<InitiativeToProject>>,
2964    /// Whether the operation was successful.
2965    pub success: Option<bool>,
2966}
2967/// An initiative update.
2968#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2969#[serde(rename_all = "camelCase", default)]
2970pub struct InitiativeUpdate {
2971    /// The unique identifier of the entity.
2972    pub id: Option<String>,
2973    /// The time at which the entity was created.
2974    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
2975    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
2976    /// been updated after creation.
2977    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
2978    /// The time at which the entity was archived. Null if the entity has not been archived.
2979    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
2980    /// The update content in markdown format.
2981    pub body: Option<String>,
2982    /// The time the update was edited.
2983    pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
2984    /// Emoji reaction summary, grouped by emoji type.
2985    pub reaction_data: Option<serde_json::Value>,
2986    /// `Internal` The content of the update as a Prosemirror document.
2987    pub body_data: Option<String>,
2988    /// The update's unique URL slug.
2989    pub slug_id: Option<String>,
2990    /// The initiative that the update is associated with.
2991    pub initiative: Option<Box<Initiative>>,
2992    /// The user who wrote the update.
2993    pub user: Option<Box<User>>,
2994    /// The health at the time of the update.
2995    pub health: Option<InitiativeUpdateHealthType>,
2996    /// `Internal` Serialized JSON representing current state of the initiative properties when posting the initiative update.
2997    pub info_snapshot: Option<serde_json::Value>,
2998    /// Whether initiative update diff should be hidden.
2999    pub is_diff_hidden: Option<bool>,
3000    /// The URL to the initiative update.
3001    pub url: Option<String>,
3002    /// Whether the initiative update is stale.
3003    pub is_stale: Option<bool>,
3004    /// The diff between the current update and the previous one.
3005    pub diff: Option<serde_json::Value>,
3006    /// The diff between the current update and the previous one, formatted as markdown.
3007    pub diff_markdown: Option<String>,
3008    /// Reactions associated with the initiative update.
3009    pub reactions: Option<Box<Vec<Reaction>>>,
3010    /// Comments associated with the initiative update.
3011    pub comments: Option<Box<CommentConnection>>,
3012    /// Number of comments associated with the initiative update.
3013    pub comment_count: Option<i64>,
3014}
3015/// A generic payload return from entity archive mutations.
3016#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3017#[serde(rename_all = "camelCase", default)]
3018pub struct InitiativeUpdateArchivePayload {
3019    /// The identifier of the last sync operation.
3020    pub last_sync_id: Option<f64>,
3021    /// Whether the operation was successful.
3022    pub success: Option<bool>,
3023    /// The archived/unarchived entity. Null if entity was deleted.
3024    pub entity: Option<Box<InitiativeUpdate>>,
3025}
3026#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3027#[serde(rename_all = "camelCase", default)]
3028pub struct InitiativeUpdateConnection {
3029    pub edges: Option<Box<Vec<InitiativeUpdateEdge>>>,
3030    pub nodes: Option<Box<Vec<InitiativeUpdate>>>,
3031    pub page_info: Option<Box<PageInfo>>,
3032}
3033#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3034#[serde(rename_all = "camelCase", default)]
3035pub struct InitiativeUpdateEdge {
3036    pub node: Option<Box<InitiativeUpdate>>,
3037    /// Used in `before` and `after` args
3038    pub cursor: Option<String>,
3039}
3040#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3041#[serde(rename_all = "camelCase", default)]
3042pub struct InitiativeUpdatePayload {
3043    /// The identifier of the last sync operation.
3044    pub last_sync_id: Option<f64>,
3045    /// The initiative update that was created.
3046    pub initiative_update: Option<Box<InitiativeUpdate>>,
3047    /// Whether the operation was successful.
3048    pub success: Option<bool>,
3049}
3050#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3051#[serde(rename_all = "camelCase", default)]
3052pub struct InitiativeUpdateReminderPayload {
3053    /// The identifier of the last sync operation.
3054    pub last_sync_id: Option<f64>,
3055    /// Whether the operation was successful.
3056    pub success: Option<bool>,
3057}
3058/// An integration with an external service.
3059#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3060#[serde(rename_all = "camelCase", default)]
3061pub struct Integration {
3062    /// The unique identifier of the entity.
3063    pub id: Option<String>,
3064    /// The time at which the entity was created.
3065    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3066    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3067    /// been updated after creation.
3068    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3069    /// The time at which the entity was archived. Null if the entity has not been archived.
3070    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3071    /// The integration's type.
3072    pub service: Option<String>,
3073    /// The organization that the integration is associated with.
3074    pub organization: Option<Box<Organization>>,
3075    /// The team that the integration is associated with.
3076    pub team: Option<Box<Team>>,
3077    /// The user that added the integration.
3078    pub creator: Option<Box<User>>,
3079}
3080#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3081#[serde(rename_all = "camelCase", default)]
3082pub struct IntegrationConnection {
3083    pub edges: Option<Box<Vec<IntegrationEdge>>>,
3084    pub nodes: Option<Box<Vec<Integration>>>,
3085    pub page_info: Option<Box<PageInfo>>,
3086}
3087#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3088#[serde(rename_all = "camelCase", default)]
3089pub struct IntegrationEdge {
3090    pub node: Option<Box<Integration>>,
3091    /// Used in `before` and `after` args
3092    pub cursor: Option<String>,
3093}
3094#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3095#[serde(rename_all = "camelCase", default)]
3096pub struct IntegrationHasScopesPayload {
3097    /// Whether the integration has the required scopes.
3098    pub has_all_scopes: Option<bool>,
3099    /// The missing scopes.
3100    pub missing_scopes: Option<Vec<String>>,
3101}
3102#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3103#[serde(rename_all = "camelCase", default)]
3104pub struct IntegrationPayload {
3105    /// The identifier of the last sync operation.
3106    pub last_sync_id: Option<f64>,
3107    /// The integration that was created or updated.
3108    pub integration: Option<Box<Integration>>,
3109    /// Whether the operation was successful.
3110    pub success: Option<bool>,
3111}
3112#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3113#[serde(rename_all = "camelCase", default)]
3114pub struct IntegrationRequestPayload {
3115    /// Whether the operation was successful.
3116    pub success: Option<bool>,
3117}
3118#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3119#[serde(rename_all = "camelCase", default)]
3120pub struct IntegrationSlackWorkspaceNamePayload {
3121    /// The current name of the Slack workspace.
3122    pub name: Option<String>,
3123    /// Whether the operation was successful.
3124    pub success: Option<bool>,
3125}
3126/// Join table between templates and integrations.
3127#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3128#[serde(rename_all = "camelCase", default)]
3129pub struct IntegrationTemplate {
3130    /// The unique identifier of the entity.
3131    pub id: Option<String>,
3132    /// The time at which the entity was created.
3133    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3134    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3135    /// been updated after creation.
3136    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3137    /// The time at which the entity was archived. Null if the entity has not been archived.
3138    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3139    /// The template that the integration is associated with.
3140    pub template: Option<Box<Template>>,
3141    /// The integration that the template is associated with.
3142    pub integration: Option<Box<Integration>>,
3143    /// ID of the foreign entity in the external integration this template is for, e.g., Slack channel ID.
3144    pub foreign_entity_id: Option<String>,
3145}
3146#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3147#[serde(rename_all = "camelCase", default)]
3148pub struct IntegrationTemplateConnection {
3149    pub edges: Option<Box<Vec<IntegrationTemplateEdge>>>,
3150    pub nodes: Option<Box<Vec<IntegrationTemplate>>>,
3151    pub page_info: Option<Box<PageInfo>>,
3152}
3153#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3154#[serde(rename_all = "camelCase", default)]
3155pub struct IntegrationTemplateEdge {
3156    pub node: Option<Box<IntegrationTemplate>>,
3157    /// Used in `before` and `after` args
3158    pub cursor: Option<String>,
3159}
3160#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3161#[serde(rename_all = "camelCase", default)]
3162pub struct IntegrationTemplatePayload {
3163    /// The identifier of the last sync operation.
3164    pub last_sync_id: Option<f64>,
3165    /// The IntegrationTemplate that was created or updated.
3166    pub integration_template: Option<Box<IntegrationTemplate>>,
3167    /// Whether the operation was successful.
3168    pub success: Option<bool>,
3169}
3170/// The configuration of all integrations for different entities.
3171#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3172#[serde(rename_all = "camelCase", default)]
3173pub struct IntegrationsSettings {
3174    /// The unique identifier of the entity.
3175    pub id: Option<String>,
3176    /// The time at which the entity was created.
3177    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3178    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3179    /// been updated after creation.
3180    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3181    /// The time at which the entity was archived. Null if the entity has not been archived.
3182    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3183    /// The type of view to which the integration settings context is associated with.
3184    pub context_view_type: Option<ContextViewType>,
3185    /// Whether to send a Slack message when a new issue is created for the project or the team.
3186    pub slack_issue_created: Option<bool>,
3187    /// Whether to send a Slack message when a comment is created on any of the project or team's issues.
3188    pub slack_issue_new_comment: Option<bool>,
3189    /// Whether to send a Slack message when any of the project or team's issues change to completed or cancelled.
3190    pub slack_issue_status_changed_done: Option<bool>,
3191    /// Whether to send a Slack message when an issue is added to the custom view.
3192    pub slack_issue_added_to_view: Option<bool>,
3193    /// Whether to send a Slack message when any of the project or team's issues has a change in status.
3194    pub slack_issue_status_changed_all: Option<bool>,
3195    /// Whether to send a Slack message when a project update is created.
3196    pub slack_project_update_created: Option<bool>,
3197    /// Whether to send a new project update to team Slack channels.
3198    pub slack_project_update_created_to_team: Option<bool>,
3199    /// Whether to send a new project update to workspace Slack channel.
3200    pub slack_project_update_created_to_workspace: Option<bool>,
3201    /// Whether to send a Slack message when a initiate update is created.
3202    pub slack_initiative_update_created: Option<bool>,
3203    /// Whether to send a Slack message when a new issue is added to triage.
3204    pub slack_issue_added_to_triage: Option<bool>,
3205    /// Whether to send a Slack message when an SLA is at high risk.
3206    pub slack_issue_sla_high_risk: Option<bool>,
3207    /// Whether to send a Slack message when an SLA is breached.
3208    pub slack_issue_sla_breached: Option<bool>,
3209    /// Team which those settings apply to.
3210    pub team: Option<Box<Team>>,
3211    /// Project which those settings apply to.
3212    pub project: Option<Box<Project>>,
3213    /// Initiative which those settings apply to.
3214    pub initiative: Option<Box<Initiative>>,
3215}
3216#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3217#[serde(rename_all = "camelCase", default)]
3218pub struct IntegrationsSettingsPayload {
3219    /// The identifier of the last sync operation.
3220    pub last_sync_id: Option<f64>,
3221    /// The settings that were created or updated.
3222    pub integrations_settings: Option<Box<IntegrationsSettings>>,
3223    /// Whether the operation was successful.
3224    pub success: Option<bool>,
3225}
3226/// An issue.
3227#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3228#[serde(rename_all = "camelCase", default)]
3229pub struct Issue {
3230    /// The unique identifier of the entity.
3231    pub id: Option<String>,
3232    /// The time at which the entity was created.
3233    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3234    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3235    /// been updated after creation.
3236    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3237    /// The time at which the entity was archived. Null if the entity has not been archived.
3238    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3239    /// The issue's unique number.
3240    pub number: Option<f64>,
3241    /// The issue's title.
3242    pub title: Option<String>,
3243    /// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
3244    pub priority: Option<f64>,
3245    /// The estimate of the complexity of the issue..
3246    pub estimate: Option<f64>,
3247    /// The order of the item in its column on the board.
3248    pub board_order: Option<f64>,
3249    /// The order of the item in relation to other items in the organization.
3250    pub sort_order: Option<f64>,
3251    /// The order of the item in relation to other items in the organization, when ordered by priority.
3252    pub priority_sort_order: Option<f64>,
3253    /// The time at which the issue was moved into started state.
3254    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
3255    /// The time at which the issue was moved into completed state.
3256    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
3257    /// The time at which the issue entered triage.
3258    pub started_triage_at: Option<chrono::DateTime<chrono::Utc>>,
3259    /// The time at which the issue left triage.
3260    pub triaged_at: Option<chrono::DateTime<chrono::Utc>>,
3261    /// The time at which the issue was moved into canceled state.
3262    pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
3263    /// The time at which the issue was automatically closed by the auto pruning process.
3264    pub auto_closed_at: Option<chrono::DateTime<chrono::Utc>>,
3265    /// The time at which the issue was automatically archived by the auto pruning process.
3266    pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
3267    /// The date at which the issue is due.
3268    pub due_date: Option<chrono::NaiveDate>,
3269    /// The time at which the issue's SLA began.
3270    pub sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
3271    /// The time at which the issue's SLA will enter medium risk state.
3272    pub sla_medium_risk_at: Option<chrono::DateTime<chrono::Utc>>,
3273    /// The time at which the issue's SLA will enter high risk state.
3274    pub sla_high_risk_at: Option<chrono::DateTime<chrono::Utc>>,
3275    /// The time at which the issue's SLA will breach.
3276    pub sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
3277    /// The type of SLA set on the issue. Calendar days or business days.
3278    pub sla_type: Option<String>,
3279    /// The time at which the issue was added to a project.
3280    pub added_to_project_at: Option<chrono::DateTime<chrono::Utc>>,
3281    /// The time at which the issue was added to a cycle.
3282    pub added_to_cycle_at: Option<chrono::DateTime<chrono::Utc>>,
3283    /// The time at which the issue was added to a team.
3284    pub added_to_team_at: Option<chrono::DateTime<chrono::Utc>>,
3285    /// A flag that indicates whether the issue is in the trash bin.
3286    pub trashed: Option<bool>,
3287    /// The time until an issue will be snoozed in Triage view.
3288    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
3289    /// `Internal` The time at which the most recent suggestions for this issue were generated.
3290    pub suggestions_generated_at: Option<chrono::DateTime<chrono::Utc>>,
3291    /// `Internal` The activity summary information for this issue.
3292    pub activity_summary: Option<serde_json::Value>,
3293    /// `Internal` AI-generated activity summary for this issue.
3294    pub summary: Option<Box<Summary>>,
3295    /// Id of the labels associated with this issue.
3296    pub label_ids: Option<Vec<String>>,
3297    /// The team that the issue is associated with.
3298    pub team: Option<Box<Team>>,
3299    /// The cycle that the issue is associated with.
3300    pub cycle: Option<Box<Cycle>>,
3301    /// The project that the issue is associated with.
3302    pub project: Option<Box<Project>>,
3303    /// The projectMilestone that the issue is associated with.
3304    pub project_milestone: Option<Box<ProjectMilestone>>,
3305    /// The last template that was applied to this issue.
3306    pub last_applied_template: Option<Box<Template>>,
3307    /// The recurring issue template that created this issue.
3308    pub recurring_issue_template: Option<Box<Template>>,
3309    /// Previous identifiers of the issue if it has been moved between teams.
3310    pub previous_identifiers: Option<Vec<String>>,
3311    /// The user who created the issue.
3312    pub creator: Option<Box<User>>,
3313    /// The external user who created the issue.
3314    pub external_user_creator: Option<Box<ExternalUser>>,
3315    /// The user to whom the issue is assigned to.
3316    pub assignee: Option<Box<User>>,
3317    /// The agent user that is delegated to work on this issue.
3318    pub delegate: Option<Box<User>>,
3319    /// The user who snoozed the issue.
3320    pub snoozed_by: Option<Box<User>>,
3321    /// The workflow state that the issue is associated with.
3322    pub state: Option<Box<WorkflowState>>,
3323    /// The order of the item in the sub-issue list. Only set if the issue has a parent.
3324    pub sub_issue_sort_order: Option<f64>,
3325    /// Emoji reaction summary, grouped by emoji type.
3326    pub reaction_data: Option<serde_json::Value>,
3327    /// Label for the priority.
3328    pub priority_label: Option<String>,
3329    /// The comment that this issue was created from.
3330    pub source_comment: Option<Box<Comment>>,
3331    /// Integration type that created this issue, if applicable.
3332    pub integration_source_type: Option<IntegrationService>,
3333    /// Documents associated with the issue.
3334    pub documents: Option<Box<DocumentConnection>>,
3335    /// The bot that created the issue, if applicable.
3336    pub bot_actor: Option<Box<ActorBot>>,
3337    /// The users favorite associated with this issue.
3338    pub favorite: Option<Box<Favorite>>,
3339    /// Issue's human readable identifier (e.g. ENG-123).
3340    pub identifier: Option<String>,
3341    /// Issue URL.
3342    pub url: Option<String>,
3343    /// Suggested branch name for the issue.
3344    pub branch_name: Option<String>,
3345    /// Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
3346    pub customer_ticket_count: Option<i64>,
3347    /// Users who are subscribed to the issue.
3348    pub subscribers: Option<Box<UserConnection>>,
3349    /// The parent of the issue.
3350    pub parent: Option<Box<Issue>>,
3351    /// Children of the issue.
3352    pub children: Option<Box<IssueConnection>>,
3353    /// Comments associated with the issue.
3354    pub comments: Option<Box<CommentConnection>>,
3355    /// History entries associated with the issue.
3356    pub history: Option<Box<IssueHistoryConnection>>,
3357    /// Labels associated with this issue.
3358    pub labels: Option<Box<IssueLabelConnection>>,
3359    /// Relations associated with this issue.
3360    pub relations: Option<Box<IssueRelationConnection>>,
3361    /// Inverse relations associated with this issue.
3362    pub inverse_relations: Option<Box<IssueRelationConnection>>,
3363    /// Attachments associated with the issue.
3364    pub attachments: Option<Box<AttachmentConnection>>,
3365    /// Attachments previously associated with the issue before being moved to another issue.
3366    pub former_attachments: Option<Box<AttachmentConnection>>,
3367    /// The issue's description in markdown format.
3368    pub description: Option<String>,
3369    /// `Internal` The issue's description content as YJS state.
3370    pub description_state: Option<String>,
3371    /// `ALPHA` The document content representing this issue description.
3372    pub document_content: Option<Box<DocumentContent>>,
3373    /// Reactions associated with the issue.
3374    pub reactions: Option<Box<Vec<Reaction>>>,
3375    /// Customer needs associated with the issue.
3376    pub needs: Option<Box<CustomerNeedConnection>>,
3377    /// Customer needs previously associated with the issue before being moved to another issue.
3378    pub former_needs: Option<Box<CustomerNeedConnection>>,
3379    /// The external services the issue is synced with.
3380    pub synced_with: Option<Box<Vec<ExternalEntityInfo>>>,
3381    /// `Internal` Product Intelligence suggestions for the issue.
3382    pub suggestions: Option<Box<IssueSuggestionConnection>>,
3383    /// `Internal` Incoming product intelligence relation suggestions for the issue.
3384    pub incoming_suggestions: Option<Box<IssueSuggestionConnection>>,
3385    /// The internal user who requested creation of the Asks issue on behalf of the creator.
3386    pub asks_requester: Option<Box<User>>,
3387    /// The external user who requested creation of the Asks issue on behalf of the creator.
3388    pub asks_external_user_requester: Option<Box<ExternalUser>>,
3389    /// The issue's workflow states over time.
3390    pub state_history: Option<Box<IssueStateSpanConnection>>,
3391}
3392/// A generic payload return from entity archive mutations.
3393#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3394#[serde(rename_all = "camelCase", default)]
3395pub struct IssueArchivePayload {
3396    /// The identifier of the last sync operation.
3397    pub last_sync_id: Option<f64>,
3398    /// Whether the operation was successful.
3399    pub success: Option<bool>,
3400    /// The archived/unarchived entity. Null if entity was deleted.
3401    pub entity: Option<Box<Issue>>,
3402}
3403#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3404#[serde(rename_all = "camelCase", default)]
3405pub struct IssueBatchPayload {
3406    /// The identifier of the last sync operation.
3407    pub last_sync_id: Option<f64>,
3408    /// The issues that were updated.
3409    pub issues: Option<Box<Vec<Issue>>>,
3410    /// Whether the operation was successful.
3411    pub success: Option<bool>,
3412}
3413#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3414#[serde(rename_all = "camelCase", default)]
3415pub struct IssueConnection {
3416    pub edges: Option<Box<Vec<IssueEdge>>>,
3417    pub nodes: Option<Box<Vec<Issue>>>,
3418    pub page_info: Option<Box<PageInfo>>,
3419}
3420/// `Internal` A draft issue.
3421#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3422#[serde(rename_all = "camelCase", default)]
3423pub struct IssueDraft {
3424    /// The unique identifier of the entity.
3425    pub id: Option<String>,
3426    /// The time at which the entity was created.
3427    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3428    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3429    /// been updated after creation.
3430    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3431    /// The time at which the entity was archived. Null if the entity has not been archived.
3432    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3433    /// The draft's title.
3434    pub title: Option<String>,
3435    /// The draft's description in markdown format.
3436    pub description: Option<String>,
3437    /// The priority of the draft.
3438    pub priority: Option<f64>,
3439    /// The estimate of the complexity of the draft.
3440    pub estimate: Option<f64>,
3441    /// The date at which the issue would be due.
3442    pub due_date: Option<chrono::NaiveDate>,
3443    /// The IDs of labels added to the draft.
3444    pub label_ids: Option<Vec<String>>,
3445    /// The team associated with the draft.
3446    pub team_id: Option<String>,
3447    /// The cycle associated with the draft.
3448    pub cycle_id: Option<String>,
3449    /// The project associated with the draft.
3450    pub project_id: Option<String>,
3451    /// The project milestone associated with the draft.
3452    pub project_milestone_id: Option<String>,
3453    /// The user who created the draft.
3454    pub creator: Option<Box<User>>,
3455    /// The user assigned to the draft.
3456    pub assignee_id: Option<String>,
3457    /// The agent user delegated to work on the issue being drafted.
3458    pub delegate_id: Option<String>,
3459    /// The workflow state associated with the draft.
3460    pub state_id: Option<String>,
3461    /// The parent draft of the draft.
3462    pub parent: Option<Box<IssueDraft>>,
3463    /// The ID of the parent issue draft, if any.
3464    pub parent_id: Option<String>,
3465    /// The ID of the comment that the draft was created from.
3466    pub source_comment_id: Option<String>,
3467    /// The parent issue of the draft.
3468    pub parent_issue: Option<Box<Issue>>,
3469    /// The ID of the parent issue, if any.
3470    pub parent_issue_id: Option<String>,
3471    /// The order of items in the sub-draft list. Only set if the draft has `parent` set.
3472    pub sub_issue_sort_order: Option<f64>,
3473    /// Label for the priority.
3474    pub priority_label: Option<String>,
3475    /// `Internal` The draft's description as a Prosemirror document.
3476    pub description_data: Option<serde_json::Value>,
3477    /// Serialized array of JSONs representing attachments.
3478    pub attachments: Option<serde_json::Value>,
3479    /// Serialized array of JSONs representing customer needs.
3480    pub needs: Option<serde_json::Value>,
3481    /// Serialized array of JSONs representing the recurring issue's schedule.
3482    pub schedule: Option<serde_json::Value>,
3483}
3484#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3485#[serde(rename_all = "camelCase", default)]
3486pub struct IssueDraftConnection {
3487    pub edges: Option<Box<Vec<IssueDraftEdge>>>,
3488    pub nodes: Option<Box<Vec<IssueDraft>>>,
3489    pub page_info: Option<Box<PageInfo>>,
3490}
3491#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3492#[serde(rename_all = "camelCase", default)]
3493pub struct IssueDraftEdge {
3494    pub node: Option<Box<IssueDraft>>,
3495    /// Used in `before` and `after` args
3496    pub cursor: Option<String>,
3497}
3498#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3499#[serde(rename_all = "camelCase", default)]
3500pub struct IssueEdge {
3501    pub node: Option<Box<Issue>>,
3502    /// Used in `before` and `after` args
3503    pub cursor: Option<String>,
3504}
3505#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3506#[serde(rename_all = "camelCase", default)]
3507pub struct IssueFilterSuggestionPayload {
3508    /// The json filter that is suggested.
3509    pub filter: Option<serde_json::Value>,
3510    /// The log id of the prompt, that created this filter.
3511    pub log_id: Option<String>,
3512}
3513/// A record of changes to an issue.
3514#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3515#[serde(rename_all = "camelCase", default)]
3516pub struct IssueHistory {
3517    /// The unique identifier of the entity.
3518    pub id: Option<String>,
3519    /// The time at which the entity was created.
3520    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3521    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3522    /// been updated after creation.
3523    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3524    /// The time at which the entity was archived. Null if the entity has not been archived.
3525    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3526    /// The issue that was changed.
3527    pub issue: Option<Box<Issue>>,
3528    /// The id of user who made these changes. If null, possibly means that the change made by an integration.
3529    pub actor_id: Option<String>,
3530    /// Whether the issue's description was updated.
3531    pub updated_description: Option<bool>,
3532    /// What the title was changed from.
3533    pub from_title: Option<String>,
3534    /// What the title was changed to.
3535    pub to_title: Option<String>,
3536    /// The id of user from whom the issue was re-assigned from.
3537    pub from_assignee_id: Option<String>,
3538    /// The id of user to whom the issue was assigned to.
3539    pub to_assignee_id: Option<String>,
3540    /// What the priority was changed from.
3541    pub from_priority: Option<f64>,
3542    /// What the priority was changed to.
3543    pub to_priority: Option<f64>,
3544    /// The id of team from which the issue was moved from.
3545    pub from_team_id: Option<String>,
3546    /// The id of team to which the issue was moved to.
3547    pub to_team_id: Option<String>,
3548    /// The id of previous parent of the issue.
3549    pub from_parent_id: Option<String>,
3550    /// The id of new parent of the issue.
3551    pub to_parent_id: Option<String>,
3552    /// The id of previous workflow state of the issue.
3553    pub from_state_id: Option<String>,
3554    /// The id of new workflow state of the issue.
3555    pub to_state_id: Option<String>,
3556    /// The id of previous cycle of the issue.
3557    pub from_cycle_id: Option<String>,
3558    /// The id of new cycle of the issue.
3559    pub to_cycle_id: Option<String>,
3560    /// The id of new project created from the issue.
3561    pub to_converted_project_id: Option<String>,
3562    /// The id of previous project of the issue.
3563    pub from_project_id: Option<String>,
3564    /// The id of new project of the issue.
3565    pub to_project_id: Option<String>,
3566    /// What the estimate was changed from.
3567    pub from_estimate: Option<f64>,
3568    /// What the estimate was changed to.
3569    pub to_estimate: Option<f64>,
3570    /// Whether the issue is archived at the time of this history entry.
3571    pub archived: Option<bool>,
3572    /// Whether the issue was trashed or un-trashed.
3573    pub trashed: Option<bool>,
3574    /// The id of linked attachment.
3575    pub attachment_id: Option<String>,
3576    /// ID's of labels that were added.
3577    pub added_label_ids: Option<Vec<String>>,
3578    /// ID's of labels that were removed.
3579    pub removed_label_ids: Option<Vec<String>>,
3580    /// `ALPHA` ID's of releases that the issue was added to.
3581    pub added_to_release_ids: Option<Vec<String>>,
3582    /// `ALPHA` ID's of releases that the issue was removed from.
3583    pub removed_from_release_ids: Option<Vec<String>>,
3584    /// Changed issue relationships.
3585    pub relation_changes: Option<Box<Vec<IssueRelationHistoryPayload>>>,
3586    /// Whether the issue was auto-closed.
3587    pub auto_closed: Option<bool>,
3588    /// Whether the issue was auto-archived.
3589    pub auto_archived: Option<bool>,
3590    /// What the due date was changed from.
3591    pub from_due_date: Option<chrono::NaiveDate>,
3592    /// What the due date was changed to.
3593    pub to_due_date: Option<chrono::NaiveDate>,
3594    /// The id of linked customer need.
3595    pub customer_need_id: Option<String>,
3596    /// `Internal` Serialized JSON representing changes for certain non-relational properties.
3597    pub changes: Option<serde_json::Value>,
3598    /// The actor that performed the actions. This field may be empty in the case of integrations or automations.
3599    pub actor: Option<Box<User>>,
3600    /// The actors that performed the actions. This field may be empty in the case of integrations or automations.
3601    pub actors: Option<Box<Vec<User>>>,
3602    /// The actors that edited the description of the issue, if any.
3603    pub description_updated_by: Option<Box<Vec<User>>>,
3604    /// The user that was unassigned from the issue.
3605    pub from_assignee: Option<Box<User>>,
3606    /// The user that was assigned to the issue.
3607    pub to_assignee: Option<Box<User>>,
3608    /// The cycle that the issue was moved from.
3609    pub from_cycle: Option<Box<Cycle>>,
3610    /// The cycle that the issue was moved to.
3611    pub to_cycle: Option<Box<Cycle>>,
3612    /// The new project created from the issue.
3613    pub to_converted_project: Option<Box<Project>>,
3614    /// The app user from whom the issue delegation was transferred.
3615    pub from_delegate: Option<Box<User>>,
3616    /// The app user to whom the issue delegation was transferred.
3617    pub to_delegate: Option<Box<User>>,
3618    /// The project that the issue was moved from.
3619    pub from_project: Option<Box<Project>>,
3620    /// The project that the issue was moved to.
3621    pub to_project: Option<Box<Project>>,
3622    /// The state that the issue was moved from.
3623    pub from_state: Option<Box<WorkflowState>>,
3624    /// The state that the issue was moved to.
3625    pub to_state: Option<Box<WorkflowState>>,
3626    /// The team that the issue was moved from.
3627    pub from_team: Option<Box<Team>>,
3628    /// The team that the issue was moved to.
3629    pub to_team: Option<Box<Team>>,
3630    /// The parent issue that the issue was moved from.
3631    pub from_parent: Option<Box<Issue>>,
3632    /// The parent issue that the issue was moved to.
3633    pub to_parent: Option<Box<Issue>>,
3634    /// The linked attachment.
3635    pub attachment: Option<Box<Attachment>>,
3636    /// The import record.
3637    pub issue_import: Option<Box<IssueImport>>,
3638    /// The users that were notified of the issue.
3639    pub triage_responsibility_notified_users: Option<Box<Vec<User>>>,
3640    /// Boolean indicating if the issue was auto-assigned using the triage responsibility feature.
3641    pub triage_responsibility_auto_assigned: Option<bool>,
3642    /// The team that triggered the triage responsibility action.
3643    pub triage_responsibility_team: Option<Box<Team>>,
3644    /// The project milestone that the issue was moved from.
3645    pub from_project_milestone: Option<Box<ProjectMilestone>>,
3646    /// The project milestone that the issue was moved to.
3647    pub to_project_milestone: Option<Box<ProjectMilestone>>,
3648    /// The time at which the issue's SLA was previously started.
3649    pub from_sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
3650    /// The time at which the issue's SLA is now started.
3651    pub to_sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
3652    /// The SLA breach time that was previously set on the issue.
3653    pub from_sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
3654    /// The SLA breach time that is now set on the issue.
3655    pub to_sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
3656    /// Whether the issue had previously breached its SLA.
3657    pub from_sla_breached: Option<bool>,
3658    /// Whether the issue has now breached its SLA.
3659    pub to_sla_breached: Option<bool>,
3660    /// The type of SLA that was previously set on the issue.
3661    pub from_sla_type: Option<String>,
3662    /// The type of SLA that is now set on the issue.
3663    pub to_sla_type: Option<String>,
3664    /// The bot that performed the action.
3665    pub bot_actor: Option<Box<ActorBot>>,
3666    /// The labels that were added to the issue.
3667    pub added_labels: Option<Box<Vec<IssueLabel>>>,
3668    /// The labels that were removed from the issue.
3669    pub removed_labels: Option<Box<Vec<IssueLabel>>>,
3670    /// The releases that the issue was added to.
3671    pub added_to_releases: Option<Box<Vec<Release>>>,
3672    /// The releases that the issue was removed from.
3673    pub removed_from_releases: Option<Box<Vec<Release>>>,
3674    /// `INTERNAL` Metadata about the triage rule that made changes to the issue.
3675    pub triage_rule_metadata: Option<Box<IssueHistoryTriageRuleMetadata>>,
3676}
3677#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3678#[serde(rename_all = "camelCase", default)]
3679pub struct IssueHistoryConnection {
3680    pub edges: Option<Box<Vec<IssueHistoryEdge>>>,
3681    pub nodes: Option<Box<Vec<IssueHistory>>>,
3682    pub page_info: Option<Box<PageInfo>>,
3683}
3684#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3685#[serde(rename_all = "camelCase", default)]
3686pub struct IssueHistoryEdge {
3687    pub node: Option<Box<IssueHistory>>,
3688    /// Used in `before` and `after` args
3689    pub cursor: Option<String>,
3690}
3691/// An error that occurred during triage rule execution.
3692#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3693#[serde(rename_all = "camelCase", default)]
3694pub struct IssueHistoryTriageRuleError {
3695    /// The type of error that occurred.
3696    pub r#type: Option<TriageRuleErrorType>,
3697    /// The property that caused the error.
3698    pub property: Option<String>,
3699    /// Whether the conflict was for the same child label.
3700    pub conflict_for_same_child_label: Option<bool>,
3701    /// The team the issue was being moved from.
3702    pub from_team: Option<Box<Team>>,
3703    /// The team the issue was being moved to.
3704    pub to_team: Option<Box<Team>>,
3705    /// The conflicting labels.
3706    pub conflicting_labels: Option<Box<Vec<IssueLabel>>>,
3707}
3708/// Metadata about a triage rule that made changes to an issue.
3709#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3710#[serde(rename_all = "camelCase", default)]
3711pub struct IssueHistoryTriageRuleMetadata {
3712    /// The error that occurred, if any.
3713    pub triage_rule_error: Option<Box<IssueHistoryTriageRuleError>>,
3714    /// The triage rule that triggered the issue update.
3715    pub updated_by_triage_rule: Option<Box<WorkflowDefinition>>,
3716}
3717/// An import job for data from an external service.
3718#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3719#[serde(rename_all = "camelCase", default)]
3720pub struct IssueImport {
3721    /// The unique identifier of the entity.
3722    pub id: Option<String>,
3723    /// The time at which the entity was created.
3724    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3725    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3726    /// been updated after creation.
3727    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3728    /// The time at which the entity was archived. Null if the entity has not been archived.
3729    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3730    /// New team's name in cases when teamId not set.
3731    pub team_name: Option<String>,
3732    /// The id for the user that started the job.
3733    pub creator_id: Option<String>,
3734    /// The service from which data will be imported.
3735    pub service: Option<String>,
3736    /// The status for the import job.
3737    pub status: Option<String>,
3738    /// The data mapping configuration for the import job.
3739    pub mapping: Option<serde_json::Value>,
3740    /// User readable error message, if one has occurred during the import.
3741    pub error: Option<String>,
3742    /// Current step progress in % (0-100).
3743    pub progress: Option<f64>,
3744    /// File URL for the uploaded CSV for the import, if there is one.
3745    pub csv_file_url: Option<String>,
3746    /// Error code and metadata, if one has occurred during the import.
3747    pub error_metadata: Option<serde_json::Value>,
3748    /// Metadata related to import service.
3749    pub service_metadata: Option<serde_json::Value>,
3750    /// The display name of the import service.
3751    pub display_name: Option<String>,
3752}
3753#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3754#[serde(rename_all = "camelCase", default)]
3755pub struct IssueImportCheckPayload {
3756    /// Whether the operation was successful.
3757    pub success: Option<bool>,
3758}
3759#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3760#[serde(rename_all = "camelCase", default)]
3761pub struct IssueImportDeletePayload {
3762    /// The identifier of the last sync operation.
3763    pub last_sync_id: Option<f64>,
3764    /// The import job that was deleted.
3765    pub issue_import: Option<Box<IssueImport>>,
3766    /// Whether the operation was successful.
3767    pub success: Option<bool>,
3768}
3769/// Whether a custom JQL query is valid or not
3770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3771#[serde(rename_all = "camelCase", default)]
3772pub struct IssueImportJqlCheckPayload {
3773    /// Returns true if the JQL query has been validated successfully, false otherwise
3774    pub success: Option<bool>,
3775    /// Returns an approximate number of issues matching the JQL query, if available
3776    pub count: Option<f64>,
3777    /// An error message returned by Jira when validating the JQL query.
3778    pub error: Option<String>,
3779}
3780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3781#[serde(rename_all = "camelCase", default)]
3782pub struct IssueImportPayload {
3783    /// The identifier of the last sync operation.
3784    pub last_sync_id: Option<f64>,
3785    /// The import job that was created or updated.
3786    pub issue_import: Option<Box<IssueImport>>,
3787    /// Whether the operation was successful.
3788    pub success: Option<bool>,
3789}
3790/// Whether an issue import can be synced at the end of an import or not
3791#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3792#[serde(rename_all = "camelCase", default)]
3793pub struct IssueImportSyncCheckPayload {
3794    /// Returns true if the import can be synced, false otherwise
3795    pub can_sync: Option<bool>,
3796    /// An error message with a root cause of why the import cannot be synced
3797    pub error: Option<String>,
3798}
3799/// Labels that can be associated with issues.
3800#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3801#[serde(rename_all = "camelCase", default)]
3802pub struct IssueLabel {
3803    /// The unique identifier of the entity.
3804    pub id: Option<String>,
3805    /// The time at which the entity was created.
3806    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3807    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3808    /// been updated after creation.
3809    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3810    /// The time at which the entity was archived. Null if the entity has not been archived.
3811    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3812    /// The label's name.
3813    pub name: Option<String>,
3814    /// The label's description.
3815    pub description: Option<String>,
3816    /// The label's color as a HEX string.
3817    pub color: Option<String>,
3818    /// Whether the label is a group.
3819    pub is_group: Option<bool>,
3820    /// The date when the label was last applied to an issue or project.
3821    pub last_applied_at: Option<chrono::DateTime<chrono::Utc>>,
3822    /// `Internal` When the label was retired.
3823    pub retired_at: Option<chrono::DateTime<chrono::Utc>>,
3824    pub organization: Option<Box<Organization>>,
3825    /// The team that the label is associated with. If null, the label is associated with the global workspace.
3826    pub team: Option<Box<Team>>,
3827    /// The user who created the label.
3828    pub creator: Option<Box<User>>,
3829    /// The user who retired the label.
3830    pub retired_by: Option<Box<User>>,
3831    /// The parent label.
3832    pub parent: Option<Box<IssueLabel>>,
3833    /// The original label inherited from.
3834    pub inherited_from: Option<Box<IssueLabel>>,
3835    /// Issues associated with the label.
3836    pub issues: Option<Box<IssueConnection>>,
3837    /// Children of the label.
3838    pub children: Option<Box<IssueLabelConnection>>,
3839}
3840#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3841#[serde(rename_all = "camelCase", default)]
3842pub struct IssueLabelConnection {
3843    pub edges: Option<Box<Vec<IssueLabelEdge>>>,
3844    pub nodes: Option<Box<Vec<IssueLabel>>>,
3845    pub page_info: Option<Box<PageInfo>>,
3846}
3847#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3848#[serde(rename_all = "camelCase", default)]
3849pub struct IssueLabelEdge {
3850    pub node: Option<Box<IssueLabel>>,
3851    /// Used in `before` and `after` args
3852    pub cursor: Option<String>,
3853}
3854#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3855#[serde(rename_all = "camelCase", default)]
3856pub struct IssueLabelPayload {
3857    /// The identifier of the last sync operation.
3858    pub last_sync_id: Option<f64>,
3859    /// The label that was created or updated.
3860    pub issue_label: Option<Box<IssueLabel>>,
3861    /// Whether the operation was successful.
3862    pub success: Option<bool>,
3863}
3864/// An issue related notification.
3865#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3866#[serde(rename_all = "camelCase", default)]
3867pub struct IssueNotification {
3868    /// Related comment ID. Null if the notification is not related to a comment.
3869    pub comment_id: Option<String>,
3870    /// Related parent comment ID. Null if the notification is not related to a comment.
3871    pub parent_comment_id: Option<String>,
3872    /// Name of the reaction emoji related to the notification.
3873    pub reaction_emoji: Option<String>,
3874    /// The unique identifier of the entity.
3875    pub id: Option<String>,
3876    /// The time at which the entity was created.
3877    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3878    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3879    /// been updated after creation.
3880    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3881    /// The time at which the entity was archived. Null if the entity has not been archived.
3882    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3883    /// Notification type.
3884    pub r#type: Option<String>,
3885    /// The user that caused the notification.
3886    pub actor: Option<Box<User>>,
3887    /// The external user that caused the notification.
3888    pub external_user_actor: Option<Box<ExternalUser>>,
3889    /// The user that received the notification.
3890    pub user: Option<Box<User>>,
3891    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
3892    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
3893    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
3894    /// reminder has been sent.
3895    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
3896    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
3897    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
3898    /// The time at which a notification was unsnoozed..
3899    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
3900    /// The category of the notification.
3901    pub category: Option<NotificationCategory>,
3902    /// `Internal` URL to the target of the notification.
3903    pub url: Option<String>,
3904    /// `Internal` Inbox URL for the notification.
3905    pub inbox_url: Option<String>,
3906    /// `Internal` Notification title.
3907    pub title: Option<String>,
3908    /// `Internal` Notification subtitle.
3909    pub subtitle: Option<String>,
3910    /// `Internal` If notification actor was Linear.
3911    pub is_linear_actor: Option<bool>,
3912    /// `Internal` Notification avatar URL.
3913    pub actor_avatar_url: Option<String>,
3914    /// `Internal` Notification actor initials if avatar is not available.
3915    pub actor_initials: Option<String>,
3916    /// `Internal` Notification actor initials if avatar is not available.
3917    pub actor_avatar_color: Option<String>,
3918    /// `Internal` Issue's status type for issue notifications.
3919    pub issue_status_type: Option<String>,
3920    /// `Internal` Project update health for new updates.
3921    pub project_update_health: Option<String>,
3922    /// `Internal` Initiative update health for new updates.
3923    pub initiative_update_health: Option<String>,
3924    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
3925    pub grouping_key: Option<String>,
3926    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
3927    pub grouping_priority: Option<f64>,
3928    /// The bot that caused the notification.
3929    pub bot_actor: Option<Box<ActorBot>>,
3930    /// Related issue ID.
3931    pub issue_id: Option<String>,
3932    /// The issue related to the notification.
3933    pub issue: Option<Box<Issue>>,
3934    /// The comment related to the notification.
3935    pub comment: Option<Box<Comment>>,
3936    /// The parent comment related to the notification, if a notification is a reply comment notification.
3937    pub parent_comment: Option<Box<Comment>>,
3938    /// The team related to the issue notification.
3939    pub team: Option<Box<Team>>,
3940}
3941#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3942#[serde(rename_all = "camelCase", default)]
3943pub struct IssuePayload {
3944    /// The identifier of the last sync operation.
3945    pub last_sync_id: Option<f64>,
3946    /// The issue that was created or updated.
3947    pub issue: Option<Box<Issue>>,
3948    /// Whether the operation was successful.
3949    pub success: Option<bool>,
3950}
3951#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3952#[serde(rename_all = "camelCase", default)]
3953pub struct IssuePriorityValue {
3954    /// Priority's number value.
3955    pub priority: Option<i64>,
3956    /// Priority's label.
3957    pub label: Option<String>,
3958}
3959/// A relation between two issues.
3960#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3961#[serde(rename_all = "camelCase", default)]
3962pub struct IssueRelation {
3963    /// The unique identifier of the entity.
3964    pub id: Option<String>,
3965    /// The time at which the entity was created.
3966    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
3967    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
3968    /// been updated after creation.
3969    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
3970    /// The time at which the entity was archived. Null if the entity has not been archived.
3971    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
3972    /// The relationship of the issue with the related issue.
3973    pub r#type: Option<String>,
3974    /// The issue whose relationship is being described.
3975    pub issue: Option<Box<Issue>>,
3976    /// The related issue.
3977    pub related_issue: Option<Box<Issue>>,
3978}
3979#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3980#[serde(rename_all = "camelCase", default)]
3981pub struct IssueRelationConnection {
3982    pub edges: Option<Box<Vec<IssueRelationEdge>>>,
3983    pub nodes: Option<Box<Vec<IssueRelation>>>,
3984    pub page_info: Option<Box<PageInfo>>,
3985}
3986#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3987#[serde(rename_all = "camelCase", default)]
3988pub struct IssueRelationEdge {
3989    pub node: Option<Box<IssueRelation>>,
3990    /// Used in `before` and `after` args
3991    pub cursor: Option<String>,
3992}
3993/// Issue relation history's payload.
3994#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3995#[serde(rename_all = "camelCase", default)]
3996pub struct IssueRelationHistoryPayload {
3997    /// The identifier of the related issue.
3998    pub identifier: Option<String>,
3999    /// The type of the change.
4000    pub r#type: Option<String>,
4001}
4002#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4003#[serde(rename_all = "camelCase", default)]
4004pub struct IssueRelationPayload {
4005    /// The identifier of the last sync operation.
4006    pub last_sync_id: Option<f64>,
4007    /// The issue relation that was created or updated.
4008    pub issue_relation: Option<Box<IssueRelation>>,
4009    /// Whether the operation was successful.
4010    pub success: Option<bool>,
4011}
4012#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4013#[serde(rename_all = "camelCase", default)]
4014pub struct IssueSearchPayload {
4015    pub edges: Option<Box<Vec<IssueSearchResultEdge>>>,
4016    pub nodes: Option<Box<Vec<IssueSearchResult>>>,
4017    pub page_info: Option<Box<PageInfo>>,
4018    /// Archived entities matching the search term along with all their dependencies.
4019    pub archive_payload: Option<Box<ArchiveResponse>>,
4020    /// Total number of results for query without filters applied.
4021    pub total_count: Option<f64>,
4022}
4023#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4024#[serde(rename_all = "camelCase", default)]
4025pub struct IssueSearchResult {
4026    /// The unique identifier of the entity.
4027    pub id: Option<String>,
4028    /// The time at which the entity was created.
4029    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4030    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4031    /// been updated after creation.
4032    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4033    /// The time at which the entity was archived. Null if the entity has not been archived.
4034    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4035    /// The issue's unique number.
4036    pub number: Option<f64>,
4037    /// The issue's title.
4038    pub title: Option<String>,
4039    /// The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
4040    pub priority: Option<f64>,
4041    /// The estimate of the complexity of the issue..
4042    pub estimate: Option<f64>,
4043    /// The order of the item in its column on the board.
4044    pub board_order: Option<f64>,
4045    /// The order of the item in relation to other items in the organization.
4046    pub sort_order: Option<f64>,
4047    /// The order of the item in relation to other items in the organization, when ordered by priority.
4048    pub priority_sort_order: Option<f64>,
4049    /// The time at which the issue was moved into started state.
4050    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
4051    /// The time at which the issue was moved into completed state.
4052    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
4053    /// The time at which the issue entered triage.
4054    pub started_triage_at: Option<chrono::DateTime<chrono::Utc>>,
4055    /// The time at which the issue left triage.
4056    pub triaged_at: Option<chrono::DateTime<chrono::Utc>>,
4057    /// The time at which the issue was moved into canceled state.
4058    pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
4059    /// The time at which the issue was automatically closed by the auto pruning process.
4060    pub auto_closed_at: Option<chrono::DateTime<chrono::Utc>>,
4061    /// The time at which the issue was automatically archived by the auto pruning process.
4062    pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
4063    /// The date at which the issue is due.
4064    pub due_date: Option<chrono::NaiveDate>,
4065    /// The time at which the issue's SLA began.
4066    pub sla_started_at: Option<chrono::DateTime<chrono::Utc>>,
4067    /// The time at which the issue's SLA will enter medium risk state.
4068    pub sla_medium_risk_at: Option<chrono::DateTime<chrono::Utc>>,
4069    /// The time at which the issue's SLA will enter high risk state.
4070    pub sla_high_risk_at: Option<chrono::DateTime<chrono::Utc>>,
4071    /// The time at which the issue's SLA will breach.
4072    pub sla_breaches_at: Option<chrono::DateTime<chrono::Utc>>,
4073    /// The type of SLA set on the issue. Calendar days or business days.
4074    pub sla_type: Option<String>,
4075    /// The time at which the issue was added to a project.
4076    pub added_to_project_at: Option<chrono::DateTime<chrono::Utc>>,
4077    /// The time at which the issue was added to a cycle.
4078    pub added_to_cycle_at: Option<chrono::DateTime<chrono::Utc>>,
4079    /// The time at which the issue was added to a team.
4080    pub added_to_team_at: Option<chrono::DateTime<chrono::Utc>>,
4081    /// A flag that indicates whether the issue is in the trash bin.
4082    pub trashed: Option<bool>,
4083    /// The time until an issue will be snoozed in Triage view.
4084    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
4085    /// `Internal` The time at which the most recent suggestions for this issue were generated.
4086    pub suggestions_generated_at: Option<chrono::DateTime<chrono::Utc>>,
4087    /// `Internal` The activity summary information for this issue.
4088    pub activity_summary: Option<serde_json::Value>,
4089    /// `Internal` AI-generated activity summary for this issue.
4090    pub summary: Option<Box<Summary>>,
4091    /// Id of the labels associated with this issue.
4092    pub label_ids: Option<Vec<String>>,
4093    /// The team that the issue is associated with.
4094    pub team: Option<Box<Team>>,
4095    /// The cycle that the issue is associated with.
4096    pub cycle: Option<Box<Cycle>>,
4097    /// The project that the issue is associated with.
4098    pub project: Option<Box<Project>>,
4099    /// The projectMilestone that the issue is associated with.
4100    pub project_milestone: Option<Box<ProjectMilestone>>,
4101    /// The last template that was applied to this issue.
4102    pub last_applied_template: Option<Box<Template>>,
4103    /// The recurring issue template that created this issue.
4104    pub recurring_issue_template: Option<Box<Template>>,
4105    /// Previous identifiers of the issue if it has been moved between teams.
4106    pub previous_identifiers: Option<Vec<String>>,
4107    /// The user who created the issue.
4108    pub creator: Option<Box<User>>,
4109    /// The external user who created the issue.
4110    pub external_user_creator: Option<Box<ExternalUser>>,
4111    /// The user to whom the issue is assigned to.
4112    pub assignee: Option<Box<User>>,
4113    /// The agent user that is delegated to work on this issue.
4114    pub delegate: Option<Box<User>>,
4115    /// The user who snoozed the issue.
4116    pub snoozed_by: Option<Box<User>>,
4117    /// The workflow state that the issue is associated with.
4118    pub state: Option<Box<WorkflowState>>,
4119    /// The order of the item in the sub-issue list. Only set if the issue has a parent.
4120    pub sub_issue_sort_order: Option<f64>,
4121    /// Emoji reaction summary, grouped by emoji type.
4122    pub reaction_data: Option<serde_json::Value>,
4123    /// Label for the priority.
4124    pub priority_label: Option<String>,
4125    /// The comment that this issue was created from.
4126    pub source_comment: Option<Box<Comment>>,
4127    /// Integration type that created this issue, if applicable.
4128    pub integration_source_type: Option<IntegrationService>,
4129    /// Documents associated with the issue.
4130    pub documents: Option<Box<DocumentConnection>>,
4131    /// The bot that created the issue, if applicable.
4132    pub bot_actor: Option<Box<ActorBot>>,
4133    /// The users favorite associated with this issue.
4134    pub favorite: Option<Box<Favorite>>,
4135    /// Issue's human readable identifier (e.g. ENG-123).
4136    pub identifier: Option<String>,
4137    /// Issue URL.
4138    pub url: Option<String>,
4139    /// Suggested branch name for the issue.
4140    pub branch_name: Option<String>,
4141    /// Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
4142    pub customer_ticket_count: Option<i64>,
4143    /// Users who are subscribed to the issue.
4144    pub subscribers: Option<Box<UserConnection>>,
4145    /// The parent of the issue.
4146    pub parent: Option<Box<Issue>>,
4147    /// Children of the issue.
4148    pub children: Option<Box<IssueConnection>>,
4149    /// Comments associated with the issue.
4150    pub comments: Option<Box<CommentConnection>>,
4151    /// History entries associated with the issue.
4152    pub history: Option<Box<IssueHistoryConnection>>,
4153    /// Labels associated with this issue.
4154    pub labels: Option<Box<IssueLabelConnection>>,
4155    /// Relations associated with this issue.
4156    pub relations: Option<Box<IssueRelationConnection>>,
4157    /// Inverse relations associated with this issue.
4158    pub inverse_relations: Option<Box<IssueRelationConnection>>,
4159    /// Attachments associated with the issue.
4160    pub attachments: Option<Box<AttachmentConnection>>,
4161    /// Attachments previously associated with the issue before being moved to another issue.
4162    pub former_attachments: Option<Box<AttachmentConnection>>,
4163    /// The issue's description in markdown format.
4164    pub description: Option<String>,
4165    /// `Internal` The issue's description content as YJS state.
4166    pub description_state: Option<String>,
4167    /// `ALPHA` The document content representing this issue description.
4168    pub document_content: Option<Box<DocumentContent>>,
4169    /// Reactions associated with the issue.
4170    pub reactions: Option<Box<Vec<Reaction>>>,
4171    /// Customer needs associated with the issue.
4172    pub needs: Option<Box<CustomerNeedConnection>>,
4173    /// Customer needs previously associated with the issue before being moved to another issue.
4174    pub former_needs: Option<Box<CustomerNeedConnection>>,
4175    /// The external services the issue is synced with.
4176    pub synced_with: Option<Box<Vec<ExternalEntityInfo>>>,
4177    /// `Internal` Product Intelligence suggestions for the issue.
4178    pub suggestions: Option<Box<IssueSuggestionConnection>>,
4179    /// `Internal` Incoming product intelligence relation suggestions for the issue.
4180    pub incoming_suggestions: Option<Box<IssueSuggestionConnection>>,
4181    /// The internal user who requested creation of the Asks issue on behalf of the creator.
4182    pub asks_requester: Option<Box<User>>,
4183    /// The external user who requested creation of the Asks issue on behalf of the creator.
4184    pub asks_external_user_requester: Option<Box<ExternalUser>>,
4185    /// The issue's workflow states over time.
4186    pub state_history: Option<Box<IssueStateSpanConnection>>,
4187    /// Metadata related to search result.
4188    pub metadata: Option<serde_json::Value>,
4189}
4190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4191#[serde(rename_all = "camelCase", default)]
4192pub struct IssueSearchResultEdge {
4193    pub node: Option<Box<IssueSearchResult>>,
4194    /// Used in `before` and `after` args
4195    pub cursor: Option<String>,
4196}
4197/// A continuous period of time during which an issue remained in a specific workflow state.
4198#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4199#[serde(rename_all = "camelCase", default)]
4200pub struct IssueStateSpan {
4201    /// The unique identifier of the state span.
4202    pub id: Option<String>,
4203    /// The workflow state identifier for this span.
4204    pub state_id: Option<String>,
4205    /// The timestamp when the issue entered this state.
4206    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
4207    /// The timestamp when the issue left this state. Null if the issue is currently in this state.
4208    pub ended_at: Option<chrono::DateTime<chrono::Utc>>,
4209    /// The workflow state for this span.
4210    pub state: Option<Box<WorkflowState>>,
4211}
4212#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4213#[serde(rename_all = "camelCase", default)]
4214pub struct IssueStateSpanConnection {
4215    pub edges: Option<Box<Vec<IssueStateSpanEdge>>>,
4216    pub nodes: Option<Box<Vec<IssueStateSpan>>>,
4217    pub page_info: Option<Box<PageInfo>>,
4218}
4219#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4220#[serde(rename_all = "camelCase", default)]
4221pub struct IssueStateSpanEdge {
4222    pub node: Option<Box<IssueStateSpan>>,
4223    /// Used in `before` and `after` args
4224    pub cursor: Option<String>,
4225}
4226#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4227#[serde(rename_all = "camelCase", default)]
4228pub struct IssueSuggestion {
4229    /// The unique identifier of the entity.
4230    pub id: Option<String>,
4231    /// The time at which the entity was created.
4232    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4233    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4234    /// been updated after creation.
4235    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4236    /// The time at which the entity was archived. Null if the entity has not been archived.
4237    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4238    pub issue: Option<Box<Issue>>,
4239    pub issue_id: Option<String>,
4240    pub r#type: Option<IssueSuggestionType>,
4241    pub state: Option<IssueSuggestionState>,
4242    pub state_changed_at: Option<chrono::DateTime<chrono::Utc>>,
4243    pub dismissal_reason: Option<String>,
4244    pub metadata: Option<Box<IssueSuggestionMetadata>>,
4245    pub suggested_issue: Option<Box<Issue>>,
4246    pub suggested_issue_id: Option<String>,
4247    pub suggested_team: Option<Box<Team>>,
4248    pub suggested_project: Option<Box<Project>>,
4249    pub suggested_user: Option<Box<User>>,
4250    pub suggested_user_id: Option<String>,
4251    pub suggested_label: Option<Box<IssueLabel>>,
4252    pub suggested_label_id: Option<String>,
4253}
4254#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4255#[serde(rename_all = "camelCase", default)]
4256pub struct IssueSuggestionConnection {
4257    pub edges: Option<Box<Vec<IssueSuggestionEdge>>>,
4258    pub nodes: Option<Box<Vec<IssueSuggestion>>>,
4259    pub page_info: Option<Box<PageInfo>>,
4260}
4261#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4262#[serde(rename_all = "camelCase", default)]
4263pub struct IssueSuggestionEdge {
4264    pub node: Option<Box<IssueSuggestion>>,
4265    /// Used in `before` and `after` args
4266    pub cursor: Option<String>,
4267}
4268#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4269#[serde(rename_all = "camelCase", default)]
4270pub struct IssueSuggestionMetadata {
4271    pub score: Option<f64>,
4272    pub classification: Option<String>,
4273    pub reasons: Option<Vec<String>>,
4274    pub eval_log_id: Option<String>,
4275    pub rank: Option<f64>,
4276    pub variant: Option<String>,
4277    pub applied_automation_rule_id: Option<String>,
4278}
4279#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4280#[serde(rename_all = "camelCase", default)]
4281pub struct IssueTitleSuggestionFromCustomerRequestPayload {
4282    /// The identifier of the last sync operation.
4283    pub last_sync_id: Option<f64>,
4284    /// The suggested issue title.
4285    pub title: Option<String>,
4286    /// `Internal` The log id of the ai response.
4287    pub log_id: Option<String>,
4288}
4289/// `Internal` Join table between issues and releases.
4290#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4291#[serde(rename_all = "camelCase", default)]
4292pub struct IssueToRelease {
4293    /// The unique identifier of the entity.
4294    pub id: Option<String>,
4295    /// The time at which the entity was created.
4296    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4297    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4298    /// been updated after creation.
4299    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4300    /// The time at which the entity was archived. Null if the entity has not been archived.
4301    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4302    /// The issue associated with the release.
4303    pub issue: Option<Box<Issue>>,
4304    /// The release associated with the issue.
4305    pub release: Option<Box<Release>>,
4306    /// The pull request that linked this issue to the release.
4307    pub pull_request: Option<Box<PullRequest>>,
4308}
4309#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4310#[serde(rename_all = "camelCase", default)]
4311pub struct IssueToReleaseConnection {
4312    pub edges: Option<Box<Vec<IssueToReleaseEdge>>>,
4313    pub nodes: Option<Box<Vec<IssueToRelease>>>,
4314    pub page_info: Option<Box<PageInfo>>,
4315}
4316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4317#[serde(rename_all = "camelCase", default)]
4318pub struct IssueToReleaseEdge {
4319    pub node: Option<Box<IssueToRelease>>,
4320    /// Used in `before` and `after` args
4321    pub cursor: Option<String>,
4322}
4323/// `ALPHA` The result of an issueToRelease mutation.
4324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4325#[serde(rename_all = "camelCase", default)]
4326pub struct IssueToReleasePayload {
4327    /// The identifier of the last sync operation.
4328    pub last_sync_id: Option<f64>,
4329    /// The issueToRelease that was created or updated.
4330    pub issue_to_release: Option<Box<IssueToRelease>>,
4331    /// Whether the operation was successful.
4332    pub success: Option<bool>,
4333}
4334/// A label notification subscription.
4335#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4336#[serde(rename_all = "camelCase", default)]
4337pub struct LabelNotificationSubscription {
4338    /// The unique identifier of the entity.
4339    pub id: Option<String>,
4340    /// The time at which the entity was created.
4341    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4342    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4343    /// been updated after creation.
4344    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4345    /// The time at which the entity was archived. Null if the entity has not been archived.
4346    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4347    /// The user that subscribed to receive notifications.
4348    pub subscriber: Option<Box<User>>,
4349    /// The customer associated with the notification subscription.
4350    pub customer: Option<Box<Customer>>,
4351    /// The contextual custom view associated with the notification subscription.
4352    pub custom_view: Option<Box<CustomView>>,
4353    /// The contextual cycle view associated with the notification subscription.
4354    pub cycle: Option<Box<Cycle>>,
4355    /// The label subscribed to.
4356    pub label: Option<Box<IssueLabel>>,
4357    /// The contextual project view associated with the notification subscription.
4358    pub project: Option<Box<Project>>,
4359    /// The contextual initiative view associated with the notification subscription.
4360    pub initiative: Option<Box<Initiative>>,
4361    /// The team associated with the notification subscription.
4362    pub team: Option<Box<Team>>,
4363    /// The user view associated with the notification subscription.
4364    pub user: Option<Box<User>>,
4365    /// The type of view to which the notification subscription context is associated with.
4366    pub context_view_type: Option<ContextViewType>,
4367    /// The type of user view to which the notification subscription context is associated with.
4368    pub user_context_view_type: Option<UserContextViewType>,
4369    /// Whether the subscription is active or not.
4370    pub active: Option<bool>,
4371    /// The type of subscription.
4372    pub notification_subscription_types: Option<Vec<String>>,
4373}
4374#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4375#[serde(rename_all = "camelCase", default)]
4376pub struct LogoutResponse {
4377    /// Whether the operation was successful.
4378    pub success: Option<bool>,
4379}
4380/// A generic payload return from entity archive mutations.
4381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4382#[serde(rename_all = "camelCase", default)]
4383pub struct NotificationArchivePayload {
4384    /// The identifier of the last sync operation.
4385    pub last_sync_id: Option<f64>,
4386    /// Whether the operation was successful.
4387    pub success: Option<bool>,
4388}
4389#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4390#[serde(rename_all = "camelCase", default)]
4391pub struct NotificationBatchActionPayload {
4392    /// The identifier of the last sync operation.
4393    pub last_sync_id: Option<f64>,
4394    /// Whether the operation was successful.
4395    pub success: Option<bool>,
4396}
4397/// A user's notification category preferences.
4398#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4399#[serde(rename_all = "camelCase", default)]
4400pub struct NotificationCategoryPreferences {
4401    /// The preferences for notifications about assignments.
4402    pub assignments: Option<Box<NotificationChannelPreferences>>,
4403    /// The preferences for notifications about status changes.
4404    pub status_changes: Option<Box<NotificationChannelPreferences>>,
4405    /// The preferences for notifications about comments and replies.
4406    pub comments_and_replies: Option<Box<NotificationChannelPreferences>>,
4407    /// The preferences for notifications about mentions.
4408    pub mentions: Option<Box<NotificationChannelPreferences>>,
4409    /// The preferences for notifications about reactions.
4410    pub reactions: Option<Box<NotificationChannelPreferences>>,
4411    /// The preferences for notifications about subscriptions.
4412    pub subscriptions: Option<Box<NotificationChannelPreferences>>,
4413    /// The preferences for notifications about document changes.
4414    pub document_changes: Option<Box<NotificationChannelPreferences>>,
4415    /// The preferences for notifications about posts and updates.
4416    pub posts_and_updates: Option<Box<NotificationChannelPreferences>>,
4417    /// The preferences for notifications about reminders.
4418    pub reminders: Option<Box<NotificationChannelPreferences>>,
4419    /// The preferences for notifications about reviews.
4420    pub reviews: Option<Box<NotificationChannelPreferences>>,
4421    /// The preferences for notifications about apps and integrations.
4422    pub apps_and_integrations: Option<Box<NotificationChannelPreferences>>,
4423    /// The preferences for system notifications.
4424    pub system: Option<Box<NotificationChannelPreferences>>,
4425    /// The preferences for triage notifications.
4426    pub triage: Option<Box<NotificationChannelPreferences>>,
4427    /// The preferences for customer notifications.
4428    pub customers: Option<Box<NotificationChannelPreferences>>,
4429    /// The preferences for feed summary notifications.
4430    pub feed: Option<Box<NotificationChannelPreferences>>,
4431}
4432/// A user's notification channel preferences, indicating if a channel is enabled or not
4433#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4434#[serde(rename_all = "camelCase", default)]
4435pub struct NotificationChannelPreferences {
4436    /// Whether notifications are currently enabled for mobile.
4437    pub mobile: Option<bool>,
4438    /// Whether notifications are currently enabled for desktop.
4439    pub desktop: Option<bool>,
4440    /// Whether notifications are currently enabled for email.
4441    pub email: Option<bool>,
4442    /// Whether notifications are currently enabled for Slack.
4443    pub slack: Option<bool>,
4444}
4445#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4446#[serde(rename_all = "camelCase", default)]
4447pub struct NotificationConnection {
4448    pub edges: Option<Box<Vec<NotificationEdge>>>,
4449    pub page_info: Option<Box<PageInfo>>,
4450}
4451/// A user's notification delivery preferences.
4452#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4453#[serde(rename_all = "camelCase", default)]
4454pub struct NotificationDeliveryPreferences {
4455    /// The delivery preferences for the mobile channel.
4456    pub mobile: Option<Box<NotificationDeliveryPreferencesChannel>>,
4457}
4458/// A user's notification delivery preferences.
4459#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4460#[serde(rename_all = "camelCase", default)]
4461pub struct NotificationDeliveryPreferencesChannel {
4462    /// `DEPRECATED` Whether notifications are enabled for this channel. Use notificationChannelPreferences instead.
4463    pub notifications_disabled: Option<bool>,
4464    /// The schedule for notifications on this channel.
4465    pub schedule: Option<Box<NotificationDeliveryPreferencesSchedule>>,
4466}
4467/// A user's notification delivery schedule for a particular day.
4468#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4469#[serde(rename_all = "camelCase", default)]
4470pub struct NotificationDeliveryPreferencesDay {
4471    /// The time notifications start.
4472    pub start: Option<String>,
4473    /// The time notifications end.
4474    pub end: Option<String>,
4475}
4476/// A user's notification delivery schedule for a particular day.
4477#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4478#[serde(rename_all = "camelCase", default)]
4479pub struct NotificationDeliveryPreferencesSchedule {
4480    /// Whether the schedule is disabled.
4481    pub disabled: Option<bool>,
4482    /// Delivery preferences for Sunday.
4483    pub sunday: Option<Box<NotificationDeliveryPreferencesDay>>,
4484    /// Delivery preferences for Monday.
4485    pub monday: Option<Box<NotificationDeliveryPreferencesDay>>,
4486    /// Delivery preferences for Tuesday.
4487    pub tuesday: Option<Box<NotificationDeliveryPreferencesDay>>,
4488    /// Delivery preferences for Wednesday.
4489    pub wednesday: Option<Box<NotificationDeliveryPreferencesDay>>,
4490    /// Delivery preferences for Thursday.
4491    pub thursday: Option<Box<NotificationDeliveryPreferencesDay>>,
4492    /// Delivery preferences for Friday.
4493    pub friday: Option<Box<NotificationDeliveryPreferencesDay>>,
4494    /// Delivery preferences for Saturday.
4495    pub saturday: Option<Box<NotificationDeliveryPreferencesDay>>,
4496}
4497#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4498#[serde(rename_all = "camelCase", default)]
4499pub struct NotificationEdge {
4500    /// Used in `before` and `after` args
4501    pub cursor: Option<String>,
4502}
4503#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4504#[serde(rename_all = "camelCase", default)]
4505pub struct NotificationPayload {
4506    /// The identifier of the last sync operation.
4507    pub last_sync_id: Option<f64>,
4508    /// Whether the operation was successful.
4509    pub success: Option<bool>,
4510}
4511#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4512#[serde(rename_all = "camelCase", default)]
4513pub struct NotificationSubscriptionConnection {
4514    pub edges: Option<Box<Vec<NotificationSubscriptionEdge>>>,
4515    pub page_info: Option<Box<PageInfo>>,
4516}
4517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4518#[serde(rename_all = "camelCase", default)]
4519pub struct NotificationSubscriptionEdge {
4520    /// Used in `before` and `after` args
4521    pub cursor: Option<String>,
4522}
4523#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4524#[serde(rename_all = "camelCase", default)]
4525pub struct NotificationSubscriptionPayload {
4526    /// The identifier of the last sync operation.
4527    pub last_sync_id: Option<f64>,
4528    /// Whether the operation was successful.
4529    pub success: Option<bool>,
4530}
4531/// Request to install OAuth clients on organizations and the response to the request.
4532#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4533#[serde(rename_all = "camelCase", default)]
4534pub struct OauthClientApproval {
4535    /// The unique identifier of the entity.
4536    pub id: Option<String>,
4537    /// The time at which the entity was created.
4538    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4539    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4540    /// been updated after creation.
4541    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4542    /// The time at which the entity was archived. Null if the entity has not been archived.
4543    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4544    /// The uuid of the OAuth client being requested for installation.
4545    pub oauth_client_id: Option<String>,
4546    /// The person who requested installing the OAuth client.
4547    pub requester_id: Option<String>,
4548    /// The person who responded to the request to install the OAuth client.
4549    pub responder_id: Option<String>,
4550    /// The status for the OAuth client approval request.
4551    pub status: Option<OAuthClientApprovalStatus>,
4552    /// The scopes the app has been approved for.
4553    pub scopes: Option<Vec<String>>,
4554    /// The reason the person wants to install this OAuth client.
4555    pub request_reason: Option<String>,
4556    /// The reason the request for the OAuth client approval was denied.
4557    pub deny_reason: Option<String>,
4558    /// New scopes that were requested for approval after the initial request.
4559    pub newly_requested_scopes: Option<Vec<String>>,
4560}
4561/// An oauth client approval related notification.
4562#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4563#[serde(rename_all = "camelCase", default)]
4564pub struct OauthClientApprovalNotification {
4565    /// The unique identifier of the entity.
4566    pub id: Option<String>,
4567    /// The time at which the entity was created.
4568    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4569    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4570    /// been updated after creation.
4571    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4572    /// The time at which the entity was archived. Null if the entity has not been archived.
4573    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4574    /// Notification type.
4575    pub r#type: Option<String>,
4576    /// The user that caused the notification.
4577    pub actor: Option<Box<User>>,
4578    /// The external user that caused the notification.
4579    pub external_user_actor: Option<Box<ExternalUser>>,
4580    /// The user that received the notification.
4581    pub user: Option<Box<User>>,
4582    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
4583    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
4584    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
4585    /// reminder has been sent.
4586    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
4587    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
4588    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
4589    /// The time at which a notification was unsnoozed..
4590    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
4591    /// The category of the notification.
4592    pub category: Option<NotificationCategory>,
4593    /// `Internal` URL to the target of the notification.
4594    pub url: Option<String>,
4595    /// `Internal` Inbox URL for the notification.
4596    pub inbox_url: Option<String>,
4597    /// `Internal` Notification title.
4598    pub title: Option<String>,
4599    /// `Internal` Notification subtitle.
4600    pub subtitle: Option<String>,
4601    /// `Internal` If notification actor was Linear.
4602    pub is_linear_actor: Option<bool>,
4603    /// `Internal` Notification avatar URL.
4604    pub actor_avatar_url: Option<String>,
4605    /// `Internal` Notification actor initials if avatar is not available.
4606    pub actor_initials: Option<String>,
4607    /// `Internal` Notification actor initials if avatar is not available.
4608    pub actor_avatar_color: Option<String>,
4609    /// `Internal` Issue's status type for issue notifications.
4610    pub issue_status_type: Option<String>,
4611    /// `Internal` Project update health for new updates.
4612    pub project_update_health: Option<String>,
4613    /// `Internal` Initiative update health for new updates.
4614    pub initiative_update_health: Option<String>,
4615    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
4616    pub grouping_key: Option<String>,
4617    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
4618    pub grouping_priority: Option<f64>,
4619    /// The bot that caused the notification.
4620    pub bot_actor: Option<Box<ActorBot>>,
4621    /// Related OAuth client approval request ID.
4622    pub oauth_client_approval_id: Option<String>,
4623    /// The OAuth client approval request related to the notification.
4624    pub oauth_client_approval: Option<Box<OauthClientApproval>>,
4625}
4626/// An organization. Organizations are root-level objects that contain user accounts and teams.
4627#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4628#[serde(rename_all = "camelCase", default)]
4629pub struct Organization {
4630    /// The unique identifier of the entity.
4631    pub id: Option<String>,
4632    /// The time at which the entity was created.
4633    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4634    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4635    /// been updated after creation.
4636    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4637    /// The time at which the entity was archived. Null if the entity has not been archived.
4638    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4639    /// The organization's name.
4640    pub name: Option<String>,
4641    /// The organization's unique URL key.
4642    pub url_key: Option<String>,
4643    /// The organization's logo URL.
4644    pub logo_url: Option<String>,
4645    /// Rolling 30-day total upload volume for the organization, in megabytes.
4646    pub period_upload_volume: Option<f64>,
4647    /// `Internal` Facets associated with the organization.
4648    pub facets: Option<Box<Vec<Facet>>>,
4649    /// How git branches are formatted. If null, default formatting will be used.
4650    pub git_branch_format: Option<String>,
4651    /// Whether the Git integration linkback messages should be sent to private repositories.
4652    pub git_linkback_messages_enabled: Option<bool>,
4653    /// Whether the Git integration linkback messages should be sent to public repositories.
4654    pub git_public_linkback_messages_enabled: Option<bool>,
4655    /// Whether issue descriptions should be included in Git integration linkback messages.
4656    pub git_linkback_descriptions_enabled: Option<bool>,
4657    /// Whether the organization is using a roadmap.
4658    pub roadmap_enabled: Option<bool>,
4659    /// The n-weekly frequency at which to prompt for project updates. When not set, reminders are off.
4660    pub project_update_reminder_frequency_in_weeks: Option<f64>,
4661    /// The day at which to prompt for project updates.
4662    pub project_update_reminders_day: Option<Day>,
4663    /// The hour at which to prompt for project updates.
4664    pub project_update_reminders_hour: Option<f64>,
4665    /// The n-weekly frequency at which to prompt for initiative updates. When not set, reminders are off.
4666    pub initiative_update_reminder_frequency_in_weeks: Option<f64>,
4667    /// The day at which to prompt for initiative updates.
4668    pub initiative_update_reminders_day: Option<Day>,
4669    /// The hour at which to prompt for initiative updates.
4670    pub initiative_update_reminders_hour: Option<f64>,
4671    /// The month at which the fiscal year starts. Defaults to January (0).
4672    pub fiscal_year_start_month: Option<f64>,
4673    /// `Internal` The list of working days. Sunday is 0, Monday is 1, etc.
4674    pub working_days: Option<Vec<f64>>,
4675    /// Whether SAML authentication is enabled for organization.
4676    pub saml_enabled: Option<bool>,
4677    /// `INTERNAL` SAML settings.
4678    pub saml_settings: Option<serde_json::Value>,
4679    /// Whether SCIM provisioning is enabled for organization.
4680    pub scim_enabled: Option<bool>,
4681    /// `INTERNAL` SCIM settings.
4682    pub scim_settings: Option<serde_json::Value>,
4683    /// Security settings for the organization.
4684    pub security_settings: Option<serde_json::Value>,
4685    /// Allowed authentication providers, empty array means all are allowed.
4686    pub allowed_auth_services: Option<Vec<String>>,
4687    /// Allowed file upload content types
4688    pub allowed_file_upload_content_types: Option<Vec<String>>,
4689    /// IP restriction configurations.
4690    pub ip_restrictions: Option<Box<Vec<OrganizationIpRestriction>>>,
4691    /// The time at which deletion of the organization was requested.
4692    pub deletion_requested_at: Option<chrono::DateTime<chrono::Utc>>,
4693    /// The time at which the trial will end.
4694    pub trial_ends_at: Option<chrono::DateTime<chrono::Utc>>,
4695    /// The time at which the trial started.
4696    pub trial_starts_at: Option<chrono::DateTime<chrono::Utc>>,
4697    /// Previously used URL keys for the organization (last 3 are kept and redirected).
4698    pub previous_url_keys: Option<Vec<String>>,
4699    /// Whether HIPAA compliance is enabled for organization.
4700    pub hipaa_compliance_enabled: Option<bool>,
4701    /// `ALPHA` Theme settings for the organization.
4702    pub theme_settings: Option<serde_json::Value>,
4703    /// The feature release channel the organization belongs to.
4704    pub release_channel: Option<ReleaseChannel>,
4705    /// Configuration settings for the Customers feature.
4706    pub customers_configuration: Option<serde_json::Value>,
4707    /// `INTERNAL` Whether code intelligence is enabled for the organization.
4708    pub code_intelligence_enabled: Option<bool>,
4709    /// `INTERNAL` GitHub repository in owner/repo format for code intelligence.
4710    pub code_intelligence_repository: Option<String>,
4711    /// Default schedule for how often feed summaries are generated.
4712    pub default_feed_summary_schedule: Option<FeedSummarySchedule>,
4713    /// Whether the organization has enabled the feed feature.
4714    pub feed_enabled: Option<bool>,
4715    /// Whether to hide other organizations for new users signing up with email domains claimed by this organization.
4716    pub hide_non_primary_organizations: Option<bool>,
4717    /// `INTERNAL` Whether the organization has enabled the AI add-on (which at this point only includes triage suggestions).
4718    pub ai_addon_enabled: Option<bool>,
4719    /// `INTERNAL` Whether the organization has enabled generated updates.
4720    pub generated_updates_enabled: Option<bool>,
4721    /// Whether the organization has enabled resolved thread AI summaries.
4722    pub ai_thread_summaries_enabled: Option<bool>,
4723    /// Whether the organization has enabled AI discussion summaries for issues.
4724    pub ai_discussion_summaries_enabled: Option<bool>,
4725    /// `INTERNAL` Configure per-modality AI host providers and model families.
4726    pub ai_provider_configuration: Option<serde_json::Value>,
4727    /// `Internal` Whether the organization has enabled Linear Agent.
4728    pub linear_agent_enabled: Option<bool>,
4729    /// `DEPRECATED` Which day count to use for SLA calculations.
4730    pub sla_day_count: Option<SLADayCountType>,
4731    /// `DEPRECATED` The frequency at which to prompt for project updates.
4732    pub project_updates_reminder_frequency: Option<ProjectUpdateReminderFrequency>,
4733    /// `INTERNAL` Permitted AI providers.
4734    pub allowed_ai_providers: Option<Vec<String>>,
4735    /// Users associated with the organization.
4736    pub users: Option<Box<UserConnection>>,
4737    /// Teams associated with the organization.
4738    pub teams: Option<Box<TeamConnection>>,
4739    /// The organization's project statuses.
4740    pub project_statuses: Option<Box<Vec<ProjectStatus>>>,
4741    /// Integrations associated with the organization.
4742    pub integrations: Option<Box<IntegrationConnection>>,
4743    /// The Slack integration used for auto-creating project channels.
4744    pub slack_project_channel_integration: Option<Box<Integration>>,
4745    /// The prefix used for auto-created Slack project channels.
4746    pub slack_project_channel_prefix: Option<String>,
4747    /// The organization's subscription to a paid plan.
4748    pub subscription: Option<Box<PaidSubscription>>,
4749    /// Number of active users in the organization.
4750    pub user_count: Option<i64>,
4751    /// Aproximate number of issues in the organization, including archived ones.
4752    pub created_issue_count: Option<i64>,
4753    /// Templates associated with the organization.
4754    pub templates: Option<Box<TemplateConnection>>,
4755    /// Labels associated with the organization.
4756    pub labels: Option<Box<IssueLabelConnection>>,
4757    /// Project labels associated with the organization.
4758    pub project_labels: Option<Box<ProjectLabelConnection>>,
4759    /// Number of customers in the organization.
4760    pub customer_count: Option<i64>,
4761    /// Whether the organization is using Customers.
4762    pub customers_enabled: Option<bool>,
4763    /// `DEPRECATED` Whether member users are allowed to send invites.
4764    pub allow_members_to_invite: Option<bool>,
4765    /// `DEPRECATED` Whether team creation is restricted to admins.
4766    pub restrict_team_creation_to_admins: Option<bool>,
4767    /// `DEPRECATED` Whether workspace label creation, update, and deletion is restricted to admins.
4768    pub restrict_label_management_to_admins: Option<bool>,
4769}
4770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4771#[serde(rename_all = "camelCase", default)]
4772pub struct OrganizationAcceptedOrExpiredInviteDetailsPayload {
4773    /// The status of the invite.
4774    pub status: Option<OrganizationInviteStatus>,
4775}
4776#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4777#[serde(rename_all = "camelCase", default)]
4778pub struct OrganizationCancelDeletePayload {
4779    /// Whether the operation was successful.
4780    pub success: Option<bool>,
4781}
4782#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4783#[serde(rename_all = "camelCase", default)]
4784pub struct OrganizationDeletePayload {
4785    /// Whether the operation was successful.
4786    pub success: Option<bool>,
4787}
4788/// Defines the use of a domain by an organization.
4789#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4790#[serde(rename_all = "camelCase", default)]
4791pub struct OrganizationDomain {
4792    /// The unique identifier of the entity.
4793    pub id: Option<String>,
4794    /// The time at which the entity was created.
4795    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4796    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4797    /// been updated after creation.
4798    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4799    /// The time at which the entity was archived. Null if the entity has not been archived.
4800    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4801    /// The identity provider the domain belongs to.
4802    pub identity_provider: Option<Box<IdentityProvider>>,
4803    /// Domain name.
4804    pub name: Option<String>,
4805    /// Is this domain verified.
4806    pub verified: Option<bool>,
4807    /// E-mail used to verify this domain.
4808    pub verification_email: Option<String>,
4809    /// The user who added the domain.
4810    pub creator: Option<Box<User>>,
4811    /// What type of auth is the domain used for.
4812    pub auth_type: Option<OrganizationDomainAuthType>,
4813    /// Whether the domains was claimed by the organization through DNS verification.
4814    pub claimed: Option<bool>,
4815    /// Prevent users with this domain to create new workspaces.
4816    pub disable_organization_creation: Option<bool>,
4817}
4818/// `INTERNAL` Domain claim request response.
4819#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4820#[serde(rename_all = "camelCase", default)]
4821pub struct OrganizationDomainClaimPayload {
4822    /// String to put into DNS for verification.
4823    pub verification_string: Option<String>,
4824}
4825/// `INTERNAL` Organization domain operation response.
4826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4827#[serde(rename_all = "camelCase", default)]
4828pub struct OrganizationDomainPayload {
4829    /// The identifier of the last sync operation.
4830    pub last_sync_id: Option<f64>,
4831    /// The organization domain that was created or updated.
4832    pub organization_domain: Option<Box<OrganizationDomain>>,
4833    /// Whether the operation was successful.
4834    pub success: Option<bool>,
4835}
4836/// `INTERNAL` Organization domain operation response.
4837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4838#[serde(rename_all = "camelCase", default)]
4839pub struct OrganizationDomainSimplePayload {
4840    /// Whether the operation was successful.
4841    pub success: Option<bool>,
4842}
4843#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4844#[serde(rename_all = "camelCase", default)]
4845pub struct OrganizationExistsPayload {
4846    /// Whether the operation was successful.
4847    pub success: Option<bool>,
4848    /// Whether the organization exists.
4849    pub exists: Option<bool>,
4850}
4851/// An invitation to the organization that has been sent via email.
4852#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4853#[serde(rename_all = "camelCase", default)]
4854pub struct OrganizationInvite {
4855    /// The unique identifier of the entity.
4856    pub id: Option<String>,
4857    /// The time at which the entity was created.
4858    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4859    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4860    /// been updated after creation.
4861    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4862    /// The time at which the entity was archived. Null if the entity has not been archived.
4863    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4864    /// The invitees email address.
4865    pub email: Option<String>,
4866    /// The user role that the invitee will receive upon accepting the invite.
4867    pub role: Option<UserRoleType>,
4868    /// The invite was sent to external address.
4869    pub external: Option<bool>,
4870    /// The time at which the invite was accepted. Null, if the invite hasn't been accepted.
4871    pub accepted_at: Option<chrono::DateTime<chrono::Utc>>,
4872    /// The time at which the invite will be expiring. Null, if the invite shouldn't expire.
4873    pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
4874    /// Extra metadata associated with the organization invite.
4875    pub metadata: Option<serde_json::Value>,
4876    /// The user who created the invitation.
4877    pub inviter: Option<Box<User>>,
4878    /// The user who has accepted the invite. Null, if the invite hasn't been accepted.
4879    pub invitee: Option<Box<User>>,
4880    /// The organization that the invite is associated with.
4881    pub organization: Option<Box<Organization>>,
4882}
4883#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4884#[serde(rename_all = "camelCase", default)]
4885pub struct OrganizationInviteConnection {
4886    pub edges: Option<Box<Vec<OrganizationInviteEdge>>>,
4887    pub nodes: Option<Box<Vec<OrganizationInvite>>>,
4888    pub page_info: Option<Box<PageInfo>>,
4889}
4890#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4891#[serde(rename_all = "camelCase", default)]
4892pub struct OrganizationInviteEdge {
4893    pub node: Option<Box<OrganizationInvite>>,
4894    /// Used in `before` and `after` args
4895    pub cursor: Option<String>,
4896}
4897#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4898#[serde(rename_all = "camelCase", default)]
4899pub struct OrganizationInviteFullDetailsPayload {
4900    /// The status of the invite.
4901    pub status: Option<OrganizationInviteStatus>,
4902    /// The name of the inviter.
4903    pub inviter: Option<String>,
4904    /// The email of the invitee.
4905    pub email: Option<String>,
4906    /// What user role the invite should grant.
4907    pub role: Option<UserRoleType>,
4908    /// When the invite was created.
4909    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4910    /// Name of the workspace the invite is for.
4911    pub organization_name: Option<String>,
4912    /// ID of the workspace the invite is for.
4913    pub organization_id: Option<String>,
4914    /// URL of the workspace logo the invite is for.
4915    pub organization_logo_url: Option<String>,
4916    /// Whether the invite has already been accepted.
4917    pub accepted: Option<bool>,
4918    /// Whether the invite has expired.
4919    pub expired: Option<bool>,
4920    /// Allowed authentication providers, empty array means all are allowed.
4921    pub allowed_auth_services: Option<Vec<String>>,
4922}
4923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4924#[serde(rename_all = "camelCase", default)]
4925pub struct OrganizationInvitePayload {
4926    /// The identifier of the last sync operation.
4927    pub last_sync_id: Option<f64>,
4928    /// The organization invite that was created or updated.
4929    pub organization_invite: Option<Box<OrganizationInvite>>,
4930    /// Whether the operation was successful.
4931    pub success: Option<bool>,
4932}
4933#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4934#[serde(rename_all = "camelCase", default)]
4935pub struct OrganizationIpRestriction {
4936    /// IP range in CIDR format.
4937    pub range: Option<String>,
4938    /// Restriction type.
4939    pub r#type: Option<String>,
4940    /// Optional restriction description.
4941    pub description: Option<String>,
4942    /// Whether the restriction is enabled.
4943    pub enabled: Option<bool>,
4944}
4945#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4946#[serde(rename_all = "camelCase", default)]
4947pub struct OrganizationMeta {
4948    /// The region the organization is hosted in.
4949    pub region: Option<String>,
4950    /// Allowed authentication providers, empty array means all are allowed.
4951    pub allowed_auth_services: Option<Vec<String>>,
4952}
4953#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4954#[serde(rename_all = "camelCase", default)]
4955pub struct OrganizationPayload {
4956    /// The identifier of the last sync operation.
4957    pub last_sync_id: Option<f64>,
4958    /// The organization that was created or updated.
4959    pub organization: Option<Box<Organization>>,
4960    /// Whether the operation was successful.
4961    pub success: Option<bool>,
4962}
4963#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4964#[serde(rename_all = "camelCase", default)]
4965pub struct OrganizationStartTrialPayload {
4966    /// Whether the operation was successful.
4967    pub success: Option<bool>,
4968}
4969#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4970#[serde(rename_all = "camelCase", default)]
4971pub struct PageInfo {
4972    /// Indicates if there are more results when paginating backward.
4973    pub has_previous_page: Option<bool>,
4974    /// Indicates if there are more results when paginating forward.
4975    pub has_next_page: Option<bool>,
4976    /// Cursor representing the first result in the paginated results.
4977    pub start_cursor: Option<String>,
4978    /// Cursor representing the last result in the paginated results.
4979    pub end_cursor: Option<String>,
4980}
4981/// The paid subscription of an organization.
4982#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4983#[serde(rename_all = "camelCase", default)]
4984pub struct PaidSubscription {
4985    /// The unique identifier of the entity.
4986    pub id: Option<String>,
4987    /// The time at which the entity was created.
4988    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
4989    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
4990    /// been updated after creation.
4991    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
4992    /// The time at which the entity was archived. Null if the entity has not been archived.
4993    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
4994    /// The subscription type.
4995    pub r#type: Option<String>,
4996    /// The number of seats in the subscription.
4997    pub seats: Option<f64>,
4998    /// The minimum number of seats that will be billed in the subscription.
4999    pub seats_minimum: Option<f64>,
5000    /// The maximum number of seats that will be billed in the subscription.
5001    pub seats_maximum: Option<f64>,
5002    /// The creator of the subscription.
5003    pub creator: Option<Box<User>>,
5004    /// The organization that the subscription is associated with.
5005    pub organization: Option<Box<Organization>>,
5006    /// The collection method for this subscription, either automatically charged or invoiced.
5007    pub collection_method: Option<String>,
5008    /// The date the subscription was canceled, if any.
5009    pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
5010    /// The date the subscription is scheduled to be canceled, if any.
5011    pub cancel_at: Option<chrono::DateTime<chrono::Utc>>,
5012    /// The subscription type of a pending change. Null if no change pending.
5013    pub pending_change_type: Option<String>,
5014    /// The date the subscription will be billed next.
5015    pub next_billing_at: Option<chrono::DateTime<chrono::Utc>>,
5016}
5017#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5018#[serde(rename_all = "camelCase", default)]
5019pub struct PasskeyLoginStartResponse {
5020    pub success: Option<bool>,
5021    pub options: Option<serde_json::Value>,
5022}
5023/// `Internal` A generic post.
5024#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5025#[serde(rename_all = "camelCase", default)]
5026pub struct Post {
5027    /// The unique identifier of the entity.
5028    pub id: Option<String>,
5029    /// The time at which the entity was created.
5030    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5031    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5032    /// been updated after creation.
5033    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5034    /// The time at which the entity was archived. Null if the entity has not been archived.
5035    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5036    /// The update content in markdown format.
5037    pub body: Option<String>,
5038    /// `Internal` The content of the post as a Prosemirror document.
5039    pub body_data: Option<String>,
5040    /// `Internal` The written update data used to compose the written post.
5041    pub written_summary_data: Option<serde_json::Value>,
5042    /// The update content summarized for audio consumption.
5043    pub audio_summary: Option<String>,
5044    /// The post's title.
5045    pub title: Option<String>,
5046    /// The post's unique URL slug.
5047    pub slug_id: Option<String>,
5048    /// The user who wrote the post.
5049    pub creator: Option<Box<User>>,
5050    /// The time the post was edited.
5051    pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
5052    /// Emoji reaction summary, grouped by emoji type.
5053    pub reaction_data: Option<serde_json::Value>,
5054    /// A URL of the TTL (text-to-language) for the body.
5055    pub ttl_url: Option<String>,
5056    /// The user that the post is associated with.
5057    pub user: Option<Box<User>>,
5058    /// The team that the post is associated with.
5059    pub team: Option<Box<Team>>,
5060    /// The type of the post.
5061    pub r#type: Option<PostType>,
5062    /// The log id of the ai response.
5063    pub eval_log_id: Option<String>,
5064    /// Schedule used to create a post summary.
5065    pub feed_summary_schedule_at_create: Option<FeedSummarySchedule>,
5066}
5067/// A post related notification.
5068#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5069#[serde(rename_all = "camelCase", default)]
5070pub struct PostNotification {
5071    /// Related comment ID. Null if the notification is not related to a comment.
5072    pub comment_id: Option<String>,
5073    /// Related parent comment ID. Null if the notification is not related to a comment.
5074    pub parent_comment_id: Option<String>,
5075    /// Name of the reaction emoji related to the notification.
5076    pub reaction_emoji: Option<String>,
5077    /// The unique identifier of the entity.
5078    pub id: Option<String>,
5079    /// The time at which the entity was created.
5080    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5081    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5082    /// been updated after creation.
5083    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5084    /// The time at which the entity was archived. Null if the entity has not been archived.
5085    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5086    /// Notification type.
5087    pub r#type: Option<String>,
5088    /// The user that caused the notification.
5089    pub actor: Option<Box<User>>,
5090    /// The external user that caused the notification.
5091    pub external_user_actor: Option<Box<ExternalUser>>,
5092    /// The user that received the notification.
5093    pub user: Option<Box<User>>,
5094    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
5095    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
5096    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
5097    /// reminder has been sent.
5098    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
5099    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
5100    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
5101    /// The time at which a notification was unsnoozed..
5102    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
5103    /// The category of the notification.
5104    pub category: Option<NotificationCategory>,
5105    /// `Internal` URL to the target of the notification.
5106    pub url: Option<String>,
5107    /// `Internal` Inbox URL for the notification.
5108    pub inbox_url: Option<String>,
5109    /// `Internal` Notification title.
5110    pub title: Option<String>,
5111    /// `Internal` Notification subtitle.
5112    pub subtitle: Option<String>,
5113    /// `Internal` If notification actor was Linear.
5114    pub is_linear_actor: Option<bool>,
5115    /// `Internal` Notification avatar URL.
5116    pub actor_avatar_url: Option<String>,
5117    /// `Internal` Notification actor initials if avatar is not available.
5118    pub actor_initials: Option<String>,
5119    /// `Internal` Notification actor initials if avatar is not available.
5120    pub actor_avatar_color: Option<String>,
5121    /// `Internal` Issue's status type for issue notifications.
5122    pub issue_status_type: Option<String>,
5123    /// `Internal` Project update health for new updates.
5124    pub project_update_health: Option<String>,
5125    /// `Internal` Initiative update health for new updates.
5126    pub initiative_update_health: Option<String>,
5127    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
5128    pub grouping_key: Option<String>,
5129    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
5130    pub grouping_priority: Option<f64>,
5131    /// The bot that caused the notification.
5132    pub bot_actor: Option<Box<ActorBot>>,
5133    /// Related post ID.
5134    pub post_id: Option<String>,
5135}
5136/// A project.
5137#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5138#[serde(rename_all = "camelCase", default)]
5139pub struct Project {
5140    /// The unique identifier of the entity.
5141    pub id: Option<String>,
5142    /// The time at which the entity was created.
5143    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5144    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5145    /// been updated after creation.
5146    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5147    /// The time at which the entity was archived. Null if the entity has not been archived.
5148    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5149    /// The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5150    pub update_reminder_frequency_in_weeks: Option<f64>,
5151    /// The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5152    pub update_reminder_frequency: Option<f64>,
5153    /// The resolution of the reminder frequency.
5154    pub frequency_resolution: Option<FrequencyResolutionType>,
5155    /// The day at which to prompt for updates.
5156    pub update_reminders_day: Option<Day>,
5157    /// The hour at which to prompt for updates.
5158    pub update_reminders_hour: Option<f64>,
5159    /// The project's name.
5160    pub name: Option<String>,
5161    /// The project's description.
5162    pub description: Option<String>,
5163    /// The project's unique URL slug.
5164    pub slug_id: Option<String>,
5165    /// The icon of the project.
5166    pub icon: Option<String>,
5167    /// The project's color.
5168    pub color: Option<String>,
5169    /// The status that the project is associated with.
5170    pub status: Option<Box<ProjectStatus>>,
5171    /// The user who created the project.
5172    pub creator: Option<Box<User>>,
5173    /// The project lead.
5174    pub lead: Option<Box<User>>,
5175    /// `Internal` Facets associated with the project.
5176    pub facets: Option<Box<Vec<Facet>>>,
5177    /// The time until which project update reminders are paused.
5178    pub project_update_reminders_paused_until_at: Option<chrono::DateTime<chrono::Utc>>,
5179    /// The estimated start date of the project.
5180    pub start_date: Option<chrono::NaiveDate>,
5181    /// The resolution of the project's start date.
5182    pub start_date_resolution: Option<DateResolutionType>,
5183    /// The estimated completion date of the project.
5184    pub target_date: Option<chrono::NaiveDate>,
5185    /// The resolution of the project's estimated completion date.
5186    pub target_date_resolution: Option<DateResolutionType>,
5187    /// The time at which the project was moved into started state.
5188    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
5189    /// The time at which the project was moved into completed state.
5190    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
5191    /// The time at which the project was moved into canceled state.
5192    pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
5193    /// The time at which the project was automatically archived by the auto pruning process.
5194    pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
5195    /// A flag that indicates whether the project is in the trash bin.
5196    pub trashed: Option<bool>,
5197    /// The sort order for the project within the organization.
5198    pub sort_order: Option<f64>,
5199    /// The sort order for the project within the organization, when ordered by priority.
5200    pub priority_sort_order: Option<f64>,
5201    /// The project was created based on this issue.
5202    pub converted_from_issue: Option<Box<Issue>>,
5203    /// The last template that was applied to this project.
5204    pub last_applied_template: Option<Box<Template>>,
5205    /// The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
5206    pub priority: Option<i64>,
5207    /// The last project update posted for this project.
5208    pub last_update: Option<Box<ProjectUpdate>>,
5209    /// The health of the project.
5210    pub health: Option<ProjectUpdateHealthType>,
5211    /// The time at which the project health was updated.
5212    pub health_updated_at: Option<chrono::DateTime<chrono::Utc>>,
5213    /// The total number of issues in the project after each week.
5214    pub issue_count_history: Option<Vec<f64>>,
5215    /// The number of completed issues in the project after each week.
5216    pub completed_issue_count_history: Option<Vec<f64>>,
5217    /// The total number of estimation points after each week.
5218    pub scope_history: Option<Vec<f64>>,
5219    /// The number of completed estimation points after each week.
5220    pub completed_scope_history: Option<Vec<f64>>,
5221    /// The number of in progress estimation points after each week.
5222    pub in_progress_scope_history: Option<Vec<f64>>,
5223    /// `INTERNAL` The progress history of the project.
5224    pub progress_history: Option<serde_json::Value>,
5225    /// `INTERNAL` The current progress of the project.
5226    pub current_progress: Option<serde_json::Value>,
5227    /// Whether to send new issue notifications to Slack.
5228    pub slack_new_issue: Option<bool>,
5229    /// Whether to send new issue comment notifications to Slack.
5230    pub slack_issue_comments: Option<bool>,
5231    /// Whether to send new issue status updates to Slack.
5232    pub slack_issue_statuses: Option<bool>,
5233    /// Id of the labels associated with this project.
5234    pub label_ids: Option<Vec<String>>,
5235    /// The user's favorite associated with this project.
5236    pub favorite: Option<Box<Favorite>>,
5237    /// Project URL.
5238    pub url: Option<String>,
5239    /// Initiatives that this project belongs to.
5240    pub initiatives: Option<Box<InitiativeConnection>>,
5241    /// Associations of this project to parent initiatives.
5242    pub initiative_to_projects: Option<Box<InitiativeToProjectConnection>>,
5243    /// Teams associated with this project.
5244    pub teams: Option<Box<TeamConnection>>,
5245    /// Users that are members of the project.
5246    pub members: Option<Box<UserConnection>>,
5247    /// Project updates associated with the project.
5248    pub project_updates: Option<Box<ProjectUpdateConnection>>,
5249    /// Documents associated with the project.
5250    pub documents: Option<Box<DocumentConnection>>,
5251    /// Milestones associated with the project.
5252    pub project_milestones: Option<Box<ProjectMilestoneConnection>>,
5253    /// Issues associated with the project.
5254    pub issues: Option<Box<IssueConnection>>,
5255    /// External links associated with the project.
5256    pub external_links: Option<Box<EntityExternalLinkConnection>>,
5257    /// Attachments associated with the project.
5258    pub attachments: Option<Box<ProjectAttachmentConnection>>,
5259    /// History entries associated with the project.
5260    pub history: Option<Box<ProjectHistoryConnection>>,
5261    /// Labels associated with this project.
5262    pub labels: Option<Box<ProjectLabelConnection>>,
5263    /// The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
5264    pub progress: Option<f64>,
5265    /// The overall scope (total estimate points) of the project.
5266    pub scope: Option<f64>,
5267    /// Settings for all integrations associated with that project.
5268    pub integrations_settings: Option<Box<IntegrationsSettings>>,
5269    /// The project's content in markdown format.
5270    pub content: Option<String>,
5271    /// `Internal` The project's content as YJS state.
5272    pub content_state: Option<String>,
5273    /// The content of the project description.
5274    pub document_content: Option<Box<DocumentContent>>,
5275    /// Comments associated with the project overview.
5276    pub comments: Option<Box<CommentConnection>>,
5277    /// Relations associated with this project.
5278    pub relations: Option<Box<ProjectRelationConnection>>,
5279    /// Inverse relations associated with this project.
5280    pub inverse_relations: Option<Box<ProjectRelationConnection>>,
5281    /// Customer needs associated with the project.
5282    pub needs: Option<Box<CustomerNeedConnection>>,
5283    /// `DEPRECATED` The type of the state.
5284    pub state: Option<String>,
5285    /// The priority of the project as a label.
5286    pub priority_label: Option<String>,
5287}
5288/// A generic payload return from entity archive mutations.
5289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5290#[serde(rename_all = "camelCase", default)]
5291pub struct ProjectArchivePayload {
5292    /// The identifier of the last sync operation.
5293    pub last_sync_id: Option<f64>,
5294    /// Whether the operation was successful.
5295    pub success: Option<bool>,
5296    /// The archived/unarchived entity. Null if entity was deleted.
5297    pub entity: Option<Box<Project>>,
5298}
5299/// Project attachment
5300#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5301#[serde(rename_all = "camelCase", default)]
5302pub struct ProjectAttachment {
5303    /// The unique identifier of the entity.
5304    pub id: Option<String>,
5305    /// The time at which the entity was created.
5306    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5307    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5308    /// been updated after creation.
5309    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5310    /// The time at which the entity was archived. Null if the entity has not been archived.
5311    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5312    /// Title of the attachment.
5313    pub title: Option<String>,
5314    /// Optional subtitle of the attachment
5315    pub subtitle: Option<String>,
5316    /// URL of the attachment.
5317    pub url: Option<String>,
5318    /// The creator of the attachment.
5319    pub creator: Option<Box<User>>,
5320    /// Custom metadata related to the attachment.
5321    pub metadata: Option<serde_json::Value>,
5322    /// Information about the external source which created the attachment.
5323    pub source: Option<serde_json::Value>,
5324    /// An accessor helper to source.type, defines the source type of the attachment.
5325    pub source_type: Option<String>,
5326}
5327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5328#[serde(rename_all = "camelCase", default)]
5329pub struct ProjectAttachmentConnection {
5330    pub edges: Option<Box<Vec<ProjectAttachmentEdge>>>,
5331    pub nodes: Option<Box<Vec<ProjectAttachment>>>,
5332    pub page_info: Option<Box<PageInfo>>,
5333}
5334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5335#[serde(rename_all = "camelCase", default)]
5336pub struct ProjectAttachmentEdge {
5337    pub node: Option<Box<ProjectAttachment>>,
5338    /// Used in `before` and `after` args
5339    pub cursor: Option<String>,
5340}
5341#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5342#[serde(rename_all = "camelCase", default)]
5343pub struct ProjectConnection {
5344    pub edges: Option<Box<Vec<ProjectEdge>>>,
5345    pub nodes: Option<Box<Vec<Project>>>,
5346    pub page_info: Option<Box<PageInfo>>,
5347}
5348#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5349#[serde(rename_all = "camelCase", default)]
5350pub struct ProjectEdge {
5351    pub node: Option<Box<Project>>,
5352    /// Used in `before` and `after` args
5353    pub cursor: Option<String>,
5354}
5355#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5356#[serde(rename_all = "camelCase", default)]
5357pub struct ProjectFilterSuggestionPayload {
5358    /// The json filter that is suggested.
5359    pub filter: Option<serde_json::Value>,
5360    /// The log id of the prompt, that created this filter.
5361    pub log_id: Option<String>,
5362}
5363/// An history associated with a project.
5364#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5365#[serde(rename_all = "camelCase", default)]
5366pub struct ProjectHistory {
5367    /// The unique identifier of the entity.
5368    pub id: Option<String>,
5369    /// The time at which the entity was created.
5370    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5371    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5372    /// been updated after creation.
5373    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5374    /// The time at which the entity was archived. Null if the entity has not been archived.
5375    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5376    /// The events that happened while recording that history.
5377    pub entries: Option<serde_json::Value>,
5378    /// The project that the history is associated with.
5379    pub project: Option<Box<Project>>,
5380}
5381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5382#[serde(rename_all = "camelCase", default)]
5383pub struct ProjectHistoryConnection {
5384    pub edges: Option<Box<Vec<ProjectHistoryEdge>>>,
5385    pub nodes: Option<Box<Vec<ProjectHistory>>>,
5386    pub page_info: Option<Box<PageInfo>>,
5387}
5388#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5389#[serde(rename_all = "camelCase", default)]
5390pub struct ProjectHistoryEdge {
5391    pub node: Option<Box<ProjectHistory>>,
5392    /// Used in `before` and `after` args
5393    pub cursor: Option<String>,
5394}
5395/// Labels that can be associated with projects.
5396#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5397#[serde(rename_all = "camelCase", default)]
5398pub struct ProjectLabel {
5399    /// The unique identifier of the entity.
5400    pub id: Option<String>,
5401    /// The time at which the entity was created.
5402    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5403    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5404    /// been updated after creation.
5405    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5406    /// The time at which the entity was archived. Null if the entity has not been archived.
5407    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5408    /// The label's name.
5409    pub name: Option<String>,
5410    /// The label's description.
5411    pub description: Option<String>,
5412    /// The label's color as a HEX string.
5413    pub color: Option<String>,
5414    /// Whether the label is a group.
5415    pub is_group: Option<bool>,
5416    /// The date when the label was last applied to an issue or project.
5417    pub last_applied_at: Option<chrono::DateTime<chrono::Utc>>,
5418    /// `Internal` When the label was retired.
5419    pub retired_at: Option<chrono::DateTime<chrono::Utc>>,
5420    pub organization: Option<Box<Organization>>,
5421    /// The user who created the label.
5422    pub creator: Option<Box<User>>,
5423    /// The user who retired the label.
5424    pub retired_by: Option<Box<User>>,
5425    /// The parent label.
5426    pub parent: Option<Box<ProjectLabel>>,
5427    /// Projects associated with the label.
5428    pub projects: Option<Box<ProjectConnection>>,
5429    /// Children of the label.
5430    pub children: Option<Box<ProjectLabelConnection>>,
5431}
5432#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5433#[serde(rename_all = "camelCase", default)]
5434pub struct ProjectLabelConnection {
5435    pub edges: Option<Box<Vec<ProjectLabelEdge>>>,
5436    pub nodes: Option<Box<Vec<ProjectLabel>>>,
5437    pub page_info: Option<Box<PageInfo>>,
5438}
5439#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5440#[serde(rename_all = "camelCase", default)]
5441pub struct ProjectLabelEdge {
5442    pub node: Option<Box<ProjectLabel>>,
5443    /// Used in `before` and `after` args
5444    pub cursor: Option<String>,
5445}
5446#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5447#[serde(rename_all = "camelCase", default)]
5448pub struct ProjectLabelPayload {
5449    /// The identifier of the last sync operation.
5450    pub last_sync_id: Option<f64>,
5451    /// The label that was created or updated.
5452    pub project_label: Option<Box<ProjectLabel>>,
5453    /// Whether the operation was successful.
5454    pub success: Option<bool>,
5455}
5456/// A milestone for a project.
5457#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5458#[serde(rename_all = "camelCase", default)]
5459pub struct ProjectMilestone {
5460    /// The unique identifier of the entity.
5461    pub id: Option<String>,
5462    /// The time at which the entity was created.
5463    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5464    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5465    /// been updated after creation.
5466    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5467    /// The time at which the entity was archived. Null if the entity has not been archived.
5468    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5469    /// The name of the project milestone.
5470    pub name: Option<String>,
5471    /// The content of the project milestone description.
5472    pub document_content: Option<Box<DocumentContent>>,
5473    /// The planned completion date of the milestone.
5474    pub target_date: Option<chrono::NaiveDate>,
5475    /// The project of the milestone.
5476    pub project: Option<Box<Project>>,
5477    /// `Internal` The progress history of the project milestone.
5478    pub progress_history: Option<serde_json::Value>,
5479    /// `Internal` The current progress of the project milestone.
5480    pub current_progress: Option<serde_json::Value>,
5481    /// The order of the milestone in relation to other milestones within a project.
5482    pub sort_order: Option<f64>,
5483    /// The project milestone's description in markdown format.
5484    pub description: Option<String>,
5485    /// The status of the project milestone.
5486    pub status: Option<ProjectMilestoneStatus>,
5487    /// The progress % of the project milestone.
5488    pub progress: Option<f64>,
5489    /// `Internal` The project milestone's description as YJS state.
5490    pub description_state: Option<String>,
5491    /// Issues associated with the project milestone.
5492    pub issues: Option<Box<IssueConnection>>,
5493}
5494#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5495#[serde(rename_all = "camelCase", default)]
5496pub struct ProjectMilestoneConnection {
5497    pub edges: Option<Box<Vec<ProjectMilestoneEdge>>>,
5498    pub nodes: Option<Box<Vec<ProjectMilestone>>>,
5499    pub page_info: Option<Box<PageInfo>>,
5500}
5501#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5502#[serde(rename_all = "camelCase", default)]
5503pub struct ProjectMilestoneEdge {
5504    pub node: Option<Box<ProjectMilestone>>,
5505    /// Used in `before` and `after` args
5506    pub cursor: Option<String>,
5507}
5508#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5509#[serde(rename_all = "camelCase", default)]
5510pub struct ProjectMilestoneMoveIssueToTeam {
5511    /// The issue id in this relationship, you can use * as wildcard if all issues are being moved to the same team
5512    pub issue_id: Option<String>,
5513    /// The team id in this relationship
5514    pub team_id: Option<String>,
5515}
5516#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5517#[serde(rename_all = "camelCase", default)]
5518pub struct ProjectMilestoneMovePayload {
5519    /// The identifier of the last sync operation.
5520    pub last_sync_id: Option<f64>,
5521    /// The project milestone that was created or updated.
5522    pub project_milestone: Option<Box<ProjectMilestone>>,
5523    /// Whether the operation was successful.
5524    pub success: Option<bool>,
5525    /// A snapshot of the issues that were moved to new teams, if the user selected to do it, containing an array of mappings between an issue and its previous team. Store on the client to use for undoing a previous milestone move.
5526    pub previous_issue_team_ids: Option<Box<Vec<ProjectMilestoneMoveIssueToTeam>>>,
5527    /// A snapshot of the project that had new teams added to it, if the user selected to do it, containing an array of mappings between a project and its previous teams. Store on the client to use for undoing a previous milestone move.
5528    pub previous_project_team_ids: Option<Box<ProjectMilestoneMoveProjectTeams>>,
5529}
5530#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5531#[serde(rename_all = "camelCase", default)]
5532pub struct ProjectMilestoneMoveProjectTeams {
5533    /// The project id
5534    pub project_id: Option<String>,
5535    /// The team ids for the project
5536    pub team_ids: Option<Vec<String>>,
5537}
5538#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5539#[serde(rename_all = "camelCase", default)]
5540pub struct ProjectMilestonePayload {
5541    /// The identifier of the last sync operation.
5542    pub last_sync_id: Option<f64>,
5543    /// The project milestone that was created or updated.
5544    pub project_milestone: Option<Box<ProjectMilestone>>,
5545    /// Whether the operation was successful.
5546    pub success: Option<bool>,
5547}
5548/// A project related notification.
5549#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5550#[serde(rename_all = "camelCase", default)]
5551pub struct ProjectNotification {
5552    /// Related comment ID. Null if the notification is not related to a comment.
5553    pub comment_id: Option<String>,
5554    /// Related parent comment ID. Null if the notification is not related to a comment.
5555    pub parent_comment_id: Option<String>,
5556    /// Name of the reaction emoji related to the notification.
5557    pub reaction_emoji: Option<String>,
5558    /// The unique identifier of the entity.
5559    pub id: Option<String>,
5560    /// The time at which the entity was created.
5561    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5562    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5563    /// been updated after creation.
5564    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5565    /// The time at which the entity was archived. Null if the entity has not been archived.
5566    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5567    /// Notification type.
5568    pub r#type: Option<String>,
5569    /// The user that caused the notification.
5570    pub actor: Option<Box<User>>,
5571    /// The external user that caused the notification.
5572    pub external_user_actor: Option<Box<ExternalUser>>,
5573    /// The user that received the notification.
5574    pub user: Option<Box<User>>,
5575    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
5576    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
5577    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
5578    /// reminder has been sent.
5579    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
5580    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
5581    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
5582    /// The time at which a notification was unsnoozed..
5583    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
5584    /// The category of the notification.
5585    pub category: Option<NotificationCategory>,
5586    /// `Internal` URL to the target of the notification.
5587    pub url: Option<String>,
5588    /// `Internal` Inbox URL for the notification.
5589    pub inbox_url: Option<String>,
5590    /// `Internal` Notification title.
5591    pub title: Option<String>,
5592    /// `Internal` Notification subtitle.
5593    pub subtitle: Option<String>,
5594    /// `Internal` If notification actor was Linear.
5595    pub is_linear_actor: Option<bool>,
5596    /// `Internal` Notification avatar URL.
5597    pub actor_avatar_url: Option<String>,
5598    /// `Internal` Notification actor initials if avatar is not available.
5599    pub actor_initials: Option<String>,
5600    /// `Internal` Notification actor initials if avatar is not available.
5601    pub actor_avatar_color: Option<String>,
5602    /// `Internal` Issue's status type for issue notifications.
5603    pub issue_status_type: Option<String>,
5604    /// `Internal` Project update health for new updates.
5605    pub project_update_health: Option<String>,
5606    /// `Internal` Initiative update health for new updates.
5607    pub initiative_update_health: Option<String>,
5608    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
5609    pub grouping_key: Option<String>,
5610    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
5611    pub grouping_priority: Option<f64>,
5612    /// The bot that caused the notification.
5613    pub bot_actor: Option<Box<ActorBot>>,
5614    /// Related project ID.
5615    pub project_id: Option<String>,
5616    /// Related project milestone ID.
5617    pub project_milestone_id: Option<String>,
5618    /// Related project update ID.
5619    pub project_update_id: Option<String>,
5620    /// The project related to the notification.
5621    pub project: Option<Box<Project>>,
5622    /// The document related to the notification.
5623    pub document: Option<Box<Document>>,
5624    /// The project update related to the notification.
5625    pub project_update: Option<Box<ProjectUpdate>>,
5626    /// The comment related to the notification.
5627    pub comment: Option<Box<Comment>>,
5628    /// The parent comment related to the notification, if a notification is a reply comment notification.
5629    pub parent_comment: Option<Box<Comment>>,
5630}
5631/// A project notification subscription.
5632#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5633#[serde(rename_all = "camelCase", default)]
5634pub struct ProjectNotificationSubscription {
5635    /// The unique identifier of the entity.
5636    pub id: Option<String>,
5637    /// The time at which the entity was created.
5638    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5639    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5640    /// been updated after creation.
5641    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5642    /// The time at which the entity was archived. Null if the entity has not been archived.
5643    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5644    /// The user that subscribed to receive notifications.
5645    pub subscriber: Option<Box<User>>,
5646    /// The customer associated with the notification subscription.
5647    pub customer: Option<Box<Customer>>,
5648    /// The contextual custom view associated with the notification subscription.
5649    pub custom_view: Option<Box<CustomView>>,
5650    /// The contextual cycle view associated with the notification subscription.
5651    pub cycle: Option<Box<Cycle>>,
5652    /// The contextual label view associated with the notification subscription.
5653    pub label: Option<Box<IssueLabel>>,
5654    /// The project subscribed to.
5655    pub project: Option<Box<Project>>,
5656    /// The contextual initiative view associated with the notification subscription.
5657    pub initiative: Option<Box<Initiative>>,
5658    /// The team associated with the notification subscription.
5659    pub team: Option<Box<Team>>,
5660    /// The user view associated with the notification subscription.
5661    pub user: Option<Box<User>>,
5662    /// The type of view to which the notification subscription context is associated with.
5663    pub context_view_type: Option<ContextViewType>,
5664    /// The type of user view to which the notification subscription context is associated with.
5665    pub user_context_view_type: Option<UserContextViewType>,
5666    /// Whether the subscription is active or not.
5667    pub active: Option<bool>,
5668    /// The type of subscription.
5669    pub notification_subscription_types: Option<Vec<String>>,
5670}
5671#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5672#[serde(rename_all = "camelCase", default)]
5673pub struct ProjectPayload {
5674    /// The identifier of the last sync operation.
5675    pub last_sync_id: Option<f64>,
5676    /// The project that was created or updated.
5677    pub project: Option<Box<Project>>,
5678    /// Whether the operation was successful.
5679    pub success: Option<bool>,
5680}
5681/// A relation between two projects.
5682#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5683#[serde(rename_all = "camelCase", default)]
5684pub struct ProjectRelation {
5685    /// The unique identifier of the entity.
5686    pub id: Option<String>,
5687    /// The time at which the entity was created.
5688    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5689    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5690    /// been updated after creation.
5691    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5692    /// The time at which the entity was archived. Null if the entity has not been archived.
5693    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5694    /// The relationship of the project with the related project.
5695    pub r#type: Option<String>,
5696    /// The project whose relationship is being described.
5697    pub project: Option<Box<Project>>,
5698    /// The milestone within the project whose relationship is being described.
5699    pub project_milestone: Option<Box<ProjectMilestone>>,
5700    /// The type of anchor on the project end of the relation.
5701    pub anchor_type: Option<String>,
5702    /// The related project.
5703    pub related_project: Option<Box<Project>>,
5704    /// The milestone within the related project whose relationship is being described.
5705    pub related_project_milestone: Option<Box<ProjectMilestone>>,
5706    /// The type of anchor on the relatedProject end of the relation.
5707    pub related_anchor_type: Option<String>,
5708    /// The last user who created or modified the relation.
5709    pub user: Option<Box<User>>,
5710}
5711#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5712#[serde(rename_all = "camelCase", default)]
5713pub struct ProjectRelationConnection {
5714    pub edges: Option<Box<Vec<ProjectRelationEdge>>>,
5715    pub nodes: Option<Box<Vec<ProjectRelation>>>,
5716    pub page_info: Option<Box<PageInfo>>,
5717}
5718#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5719#[serde(rename_all = "camelCase", default)]
5720pub struct ProjectRelationEdge {
5721    pub node: Option<Box<ProjectRelation>>,
5722    /// Used in `before` and `after` args
5723    pub cursor: Option<String>,
5724}
5725#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5726#[serde(rename_all = "camelCase", default)]
5727pub struct ProjectRelationPayload {
5728    /// The identifier of the last sync operation.
5729    pub last_sync_id: Option<f64>,
5730    /// The project relation that was created or updated.
5731    pub project_relation: Option<Box<ProjectRelation>>,
5732    /// Whether the operation was successful.
5733    pub success: Option<bool>,
5734}
5735#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5736#[serde(rename_all = "camelCase", default)]
5737pub struct ProjectSearchPayload {
5738    pub edges: Option<Box<Vec<ProjectSearchResultEdge>>>,
5739    pub nodes: Option<Box<Vec<ProjectSearchResult>>>,
5740    pub page_info: Option<Box<PageInfo>>,
5741    /// Archived entities matching the search term along with all their dependencies.
5742    pub archive_payload: Option<Box<ArchiveResponse>>,
5743    /// Total number of results for query without filters applied.
5744    pub total_count: Option<f64>,
5745}
5746#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5747#[serde(rename_all = "camelCase", default)]
5748pub struct ProjectSearchResult {
5749    /// The unique identifier of the entity.
5750    pub id: Option<String>,
5751    /// The time at which the entity was created.
5752    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5753    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5754    /// been updated after creation.
5755    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5756    /// The time at which the entity was archived. Null if the entity has not been archived.
5757    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5758    /// The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5759    pub update_reminder_frequency_in_weeks: Option<f64>,
5760    /// The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
5761    pub update_reminder_frequency: Option<f64>,
5762    /// The resolution of the reminder frequency.
5763    pub frequency_resolution: Option<FrequencyResolutionType>,
5764    /// The day at which to prompt for updates.
5765    pub update_reminders_day: Option<Day>,
5766    /// The hour at which to prompt for updates.
5767    pub update_reminders_hour: Option<f64>,
5768    /// The project's name.
5769    pub name: Option<String>,
5770    /// The project's description.
5771    pub description: Option<String>,
5772    /// The project's unique URL slug.
5773    pub slug_id: Option<String>,
5774    /// The icon of the project.
5775    pub icon: Option<String>,
5776    /// The project's color.
5777    pub color: Option<String>,
5778    /// The status that the project is associated with.
5779    pub status: Option<Box<ProjectStatus>>,
5780    /// The user who created the project.
5781    pub creator: Option<Box<User>>,
5782    /// The project lead.
5783    pub lead: Option<Box<User>>,
5784    /// `Internal` Facets associated with the project.
5785    pub facets: Option<Box<Vec<Facet>>>,
5786    /// The time until which project update reminders are paused.
5787    pub project_update_reminders_paused_until_at: Option<chrono::DateTime<chrono::Utc>>,
5788    /// The estimated start date of the project.
5789    pub start_date: Option<chrono::NaiveDate>,
5790    /// The resolution of the project's start date.
5791    pub start_date_resolution: Option<DateResolutionType>,
5792    /// The estimated completion date of the project.
5793    pub target_date: Option<chrono::NaiveDate>,
5794    /// The resolution of the project's estimated completion date.
5795    pub target_date_resolution: Option<DateResolutionType>,
5796    /// The time at which the project was moved into started state.
5797    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
5798    /// The time at which the project was moved into completed state.
5799    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
5800    /// The time at which the project was moved into canceled state.
5801    pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
5802    /// The time at which the project was automatically archived by the auto pruning process.
5803    pub auto_archived_at: Option<chrono::DateTime<chrono::Utc>>,
5804    /// A flag that indicates whether the project is in the trash bin.
5805    pub trashed: Option<bool>,
5806    /// The sort order for the project within the organization.
5807    pub sort_order: Option<f64>,
5808    /// The sort order for the project within the organization, when ordered by priority.
5809    pub priority_sort_order: Option<f64>,
5810    /// The project was created based on this issue.
5811    pub converted_from_issue: Option<Box<Issue>>,
5812    /// The last template that was applied to this project.
5813    pub last_applied_template: Option<Box<Template>>,
5814    /// The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
5815    pub priority: Option<i64>,
5816    /// The last project update posted for this project.
5817    pub last_update: Option<Box<ProjectUpdate>>,
5818    /// The health of the project.
5819    pub health: Option<ProjectUpdateHealthType>,
5820    /// The time at which the project health was updated.
5821    pub health_updated_at: Option<chrono::DateTime<chrono::Utc>>,
5822    /// The total number of issues in the project after each week.
5823    pub issue_count_history: Option<Vec<f64>>,
5824    /// The number of completed issues in the project after each week.
5825    pub completed_issue_count_history: Option<Vec<f64>>,
5826    /// The total number of estimation points after each week.
5827    pub scope_history: Option<Vec<f64>>,
5828    /// The number of completed estimation points after each week.
5829    pub completed_scope_history: Option<Vec<f64>>,
5830    /// The number of in progress estimation points after each week.
5831    pub in_progress_scope_history: Option<Vec<f64>>,
5832    /// `INTERNAL` The progress history of the project.
5833    pub progress_history: Option<serde_json::Value>,
5834    /// `INTERNAL` The current progress of the project.
5835    pub current_progress: Option<serde_json::Value>,
5836    /// Whether to send new issue notifications to Slack.
5837    pub slack_new_issue: Option<bool>,
5838    /// Whether to send new issue comment notifications to Slack.
5839    pub slack_issue_comments: Option<bool>,
5840    /// Whether to send new issue status updates to Slack.
5841    pub slack_issue_statuses: Option<bool>,
5842    /// Id of the labels associated with this project.
5843    pub label_ids: Option<Vec<String>>,
5844    /// The user's favorite associated with this project.
5845    pub favorite: Option<Box<Favorite>>,
5846    /// Project URL.
5847    pub url: Option<String>,
5848    /// Initiatives that this project belongs to.
5849    pub initiatives: Option<Box<InitiativeConnection>>,
5850    /// Associations of this project to parent initiatives.
5851    pub initiative_to_projects: Option<Box<InitiativeToProjectConnection>>,
5852    /// Teams associated with this project.
5853    pub teams: Option<Box<TeamConnection>>,
5854    /// Users that are members of the project.
5855    pub members: Option<Box<UserConnection>>,
5856    /// Project updates associated with the project.
5857    pub project_updates: Option<Box<ProjectUpdateConnection>>,
5858    /// Documents associated with the project.
5859    pub documents: Option<Box<DocumentConnection>>,
5860    /// Milestones associated with the project.
5861    pub project_milestones: Option<Box<ProjectMilestoneConnection>>,
5862    /// Issues associated with the project.
5863    pub issues: Option<Box<IssueConnection>>,
5864    /// External links associated with the project.
5865    pub external_links: Option<Box<EntityExternalLinkConnection>>,
5866    /// Attachments associated with the project.
5867    pub attachments: Option<Box<ProjectAttachmentConnection>>,
5868    /// History entries associated with the project.
5869    pub history: Option<Box<ProjectHistoryConnection>>,
5870    /// Labels associated with this project.
5871    pub labels: Option<Box<ProjectLabelConnection>>,
5872    /// The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
5873    pub progress: Option<f64>,
5874    /// The overall scope (total estimate points) of the project.
5875    pub scope: Option<f64>,
5876    /// Settings for all integrations associated with that project.
5877    pub integrations_settings: Option<Box<IntegrationsSettings>>,
5878    /// The project's content in markdown format.
5879    pub content: Option<String>,
5880    /// `Internal` The project's content as YJS state.
5881    pub content_state: Option<String>,
5882    /// The content of the project description.
5883    pub document_content: Option<Box<DocumentContent>>,
5884    /// Comments associated with the project overview.
5885    pub comments: Option<Box<CommentConnection>>,
5886    /// Relations associated with this project.
5887    pub relations: Option<Box<ProjectRelationConnection>>,
5888    /// Inverse relations associated with this project.
5889    pub inverse_relations: Option<Box<ProjectRelationConnection>>,
5890    /// Customer needs associated with the project.
5891    pub needs: Option<Box<CustomerNeedConnection>>,
5892    /// `DEPRECATED` The type of the state.
5893    pub state: Option<String>,
5894    /// The priority of the project as a label.
5895    pub priority_label: Option<String>,
5896    /// Metadata related to search result.
5897    pub metadata: Option<serde_json::Value>,
5898}
5899#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5900#[serde(rename_all = "camelCase", default)]
5901pub struct ProjectSearchResultEdge {
5902    pub node: Option<Box<ProjectSearchResult>>,
5903    /// Used in `before` and `after` args
5904    pub cursor: Option<String>,
5905}
5906/// A project status.
5907#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5908#[serde(rename_all = "camelCase", default)]
5909pub struct ProjectStatus {
5910    /// The unique identifier of the entity.
5911    pub id: Option<String>,
5912    /// The time at which the entity was created.
5913    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5914    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5915    /// been updated after creation.
5916    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5917    /// The time at which the entity was archived. Null if the entity has not been archived.
5918    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5919    /// The name of the status.
5920    pub name: Option<String>,
5921    /// The UI color of the status as a HEX string.
5922    pub color: Option<String>,
5923    /// Description of the status.
5924    pub description: Option<String>,
5925    /// The position of the status in the workspace's project flow.
5926    pub position: Option<f64>,
5927    /// The type of the project status.
5928    pub r#type: Option<ProjectStatusType>,
5929    /// Whether or not a project can be in this status indefinitely.
5930    pub indefinite: Option<bool>,
5931}
5932/// A generic payload return from entity archive mutations.
5933#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5934#[serde(rename_all = "camelCase", default)]
5935pub struct ProjectStatusArchivePayload {
5936    /// The identifier of the last sync operation.
5937    pub last_sync_id: Option<f64>,
5938    /// Whether the operation was successful.
5939    pub success: Option<bool>,
5940    /// The archived/unarchived entity. Null if entity was deleted.
5941    pub entity: Option<Box<ProjectStatus>>,
5942}
5943#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5944#[serde(rename_all = "camelCase", default)]
5945pub struct ProjectStatusConnection {
5946    pub edges: Option<Box<Vec<ProjectStatusEdge>>>,
5947    pub nodes: Option<Box<Vec<ProjectStatus>>>,
5948    pub page_info: Option<Box<PageInfo>>,
5949}
5950#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5951#[serde(rename_all = "camelCase", default)]
5952pub struct ProjectStatusCountPayload {
5953    /// Total number of projects using this project status.
5954    pub count: Option<f64>,
5955    /// Total number of projects using this project status that are not visible to the user because they are in a private team.
5956    pub private_count: Option<f64>,
5957    /// Total number of projects using this project status that are not visible to the user because they are in an archived team.
5958    pub archived_team_count: Option<f64>,
5959}
5960#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5961#[serde(rename_all = "camelCase", default)]
5962pub struct ProjectStatusEdge {
5963    pub node: Option<Box<ProjectStatus>>,
5964    /// Used in `before` and `after` args
5965    pub cursor: Option<String>,
5966}
5967#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5968#[serde(rename_all = "camelCase", default)]
5969pub struct ProjectStatusPayload {
5970    /// The identifier of the last sync operation.
5971    pub last_sync_id: Option<f64>,
5972    /// The project status that was created or updated.
5973    pub status: Option<Box<ProjectStatus>>,
5974    /// Whether the operation was successful.
5975    pub success: Option<bool>,
5976}
5977/// An update associated with a project.
5978#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5979#[serde(rename_all = "camelCase", default)]
5980pub struct ProjectUpdate {
5981    /// The unique identifier of the entity.
5982    pub id: Option<String>,
5983    /// The time at which the entity was created.
5984    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
5985    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
5986    /// been updated after creation.
5987    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
5988    /// The time at which the entity was archived. Null if the entity has not been archived.
5989    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
5990    /// The update content in markdown format.
5991    pub body: Option<String>,
5992    /// The time the update was edited.
5993    pub edited_at: Option<chrono::DateTime<chrono::Utc>>,
5994    /// Emoji reaction summary, grouped by emoji type.
5995    pub reaction_data: Option<serde_json::Value>,
5996    /// `Internal` The content of the update as a Prosemirror document.
5997    pub body_data: Option<String>,
5998    /// The update's unique URL slug.
5999    pub slug_id: Option<String>,
6000    /// The project that the update is associated with.
6001    pub project: Option<Box<Project>>,
6002    /// The health of the project at the time of the update.
6003    pub health: Option<ProjectUpdateHealthType>,
6004    /// The user who wrote the update.
6005    pub user: Option<Box<User>>,
6006    /// `Internal` Serialized JSON representing current state of the project properties when posting the project update.
6007    pub info_snapshot: Option<serde_json::Value>,
6008    /// Whether project update diff should be hidden.
6009    pub is_diff_hidden: Option<bool>,
6010    /// The URL to the project update.
6011    pub url: Option<String>,
6012    /// Whether the project update is stale.
6013    pub is_stale: Option<bool>,
6014    /// The diff between the current update and the previous one.
6015    pub diff: Option<serde_json::Value>,
6016    /// The diff between the current update and the previous one, formatted as markdown.
6017    pub diff_markdown: Option<String>,
6018    /// Reactions associated with the project update.
6019    pub reactions: Option<Box<Vec<Reaction>>>,
6020    /// Comments associated with the project update.
6021    pub comments: Option<Box<CommentConnection>>,
6022    /// Number of comments associated with the project update.
6023    pub comment_count: Option<i64>,
6024}
6025/// A generic payload return from entity archive mutations.
6026#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6027#[serde(rename_all = "camelCase", default)]
6028pub struct ProjectUpdateArchivePayload {
6029    /// The identifier of the last sync operation.
6030    pub last_sync_id: Option<f64>,
6031    /// Whether the operation was successful.
6032    pub success: Option<bool>,
6033    /// The archived/unarchived entity. Null if entity was deleted.
6034    pub entity: Option<Box<ProjectUpdate>>,
6035}
6036#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6037#[serde(rename_all = "camelCase", default)]
6038pub struct ProjectUpdateConnection {
6039    pub edges: Option<Box<Vec<ProjectUpdateEdge>>>,
6040    pub nodes: Option<Box<Vec<ProjectUpdate>>>,
6041    pub page_info: Option<Box<PageInfo>>,
6042}
6043#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6044#[serde(rename_all = "camelCase", default)]
6045pub struct ProjectUpdateEdge {
6046    pub node: Option<Box<ProjectUpdate>>,
6047    /// Used in `before` and `after` args
6048    pub cursor: Option<String>,
6049}
6050#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6051#[serde(rename_all = "camelCase", default)]
6052pub struct ProjectUpdatePayload {
6053    /// The identifier of the last sync operation.
6054    pub last_sync_id: Option<f64>,
6055    /// The project update that was created or updated.
6056    pub project_update: Option<Box<ProjectUpdate>>,
6057    /// Whether the operation was successful.
6058    pub success: Option<bool>,
6059}
6060#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6061#[serde(rename_all = "camelCase", default)]
6062pub struct ProjectUpdateReminderPayload {
6063    /// The identifier of the last sync operation.
6064    pub last_sync_id: Option<f64>,
6065    /// Whether the operation was successful.
6066    pub success: Option<bool>,
6067}
6068/// `Internal` A pull request in a version control system.
6069#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6070#[serde(rename_all = "camelCase", default)]
6071pub struct PullRequest {
6072    /// The unique identifier of the entity.
6073    pub id: Option<String>,
6074    /// The time at which the entity was created.
6075    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6076    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6077    /// been updated after creation.
6078    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6079    /// The time at which the entity was archived. Null if the entity has not been archived.
6080    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6081    /// The pull request's unique URL slug.
6082    pub slug_id: Option<String>,
6083    /// The title of the pull request.
6084    pub title: Option<String>,
6085    /// The number of the pull request in the version control system.
6086    pub number: Option<f64>,
6087    /// The source branch of the pull request.
6088    pub source_branch: Option<String>,
6089    /// The target branch of the pull request.
6090    pub target_branch: Option<String>,
6091    /// The URL of the pull request in the version control system.
6092    pub url: Option<String>,
6093    /// The status of the pull request.
6094    pub status: Option<PullRequestStatus>,
6095    /// Merge settings for this pull request.
6096    pub merge_settings: Option<Box<PullRequestMergeSettings>>,
6097    /// The merge commit created when the PR was merged.
6098    pub merge_commit: Option<Box<PullRequestCommit>>,
6099    /// `Internal` The checks associated with the pull request.
6100    pub checks: Option<Box<Vec<PullRequestCheck>>>,
6101    /// `ALPHA` The commits associated with the pull request.
6102    pub commits: Option<Box<Vec<PullRequestCommit>>>,
6103    /// `Internal` The user who created the pull request.
6104    pub creator: Option<Box<User>>,
6105}
6106/// `ALPHA` A pull request check.
6107#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6108#[serde(rename_all = "camelCase", default)]
6109pub struct PullRequestCheck {
6110    /// The name of the check.
6111    pub name: Option<String>,
6112    /// The name of the workflow that triggered the check.
6113    pub workflow_name: Option<String>,
6114    /// The status of the check.
6115    pub status: Option<String>,
6116    /// The URL of the check.
6117    pub url: Option<String>,
6118    /// Whether the check is required.
6119    pub is_required: Option<bool>,
6120    /// The date/time at which when the check was started.
6121    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
6122    /// The date/time at which when the check was completed.
6123    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
6124}
6125/// `ALPHA` A pull request commit.
6126#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6127#[serde(rename_all = "camelCase", default)]
6128pub struct PullRequestCommit {
6129    /// The Git commit SHA.
6130    pub sha: Option<String>,
6131    /// The full commit message.
6132    pub message: Option<String>,
6133    /// The timestamp when the commit was committed (ISO 8601 string).
6134    pub committed_at: Option<String>,
6135    /// Number of additions in this commit.
6136    pub additions: Option<f64>,
6137    /// Number of deletions in this commit.
6138    pub deletions: Option<f64>,
6139    /// The number of changed files if available.
6140    pub changed_files: Option<f64>,
6141    /// Linear user IDs for commit authors (includes co-authors).
6142    pub author_user_ids: Option<Vec<String>>,
6143    /// External user IDs for commit authors (includes co-authors).
6144    pub author_external_user_ids: Option<Vec<String>>,
6145}
6146/// `Internal` Merge settings for a pull request
6147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6148#[serde(rename_all = "camelCase", default)]
6149pub struct PullRequestMergeSettings {
6150    /// Whether merge queue is enabled for this repository.
6151    pub is_merge_queue_enabled: Option<bool>,
6152    /// Whether squash merge is allowed for this pull request's repository.
6153    pub squash_merge_allowed: Option<bool>,
6154    /// Whether auto-merge is allowed for the PR's repository.
6155    pub auto_merge_allowed: Option<bool>,
6156    /// Whether rebase merge is allowed for pull requests PR's repository.
6157    pub rebase_merge_allowed: Option<bool>,
6158    /// Whether merge commits are allowed for pull requests PR's repository.
6159    pub merge_commit_allowed: Option<bool>,
6160    /// Whether the branch will be deleted when the pull request is merged.
6161    pub delete_branch_on_merge: Option<bool>,
6162    /// The method used to merge a pull request.
6163    pub merge_queue_merge_method: Option<PullRequestMergeMethod>,
6164}
6165/// A pull request related notification.
6166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6167#[serde(rename_all = "camelCase", default)]
6168pub struct PullRequestNotification {
6169    /// The unique identifier of the entity.
6170    pub id: Option<String>,
6171    /// The time at which the entity was created.
6172    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6173    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6174    /// been updated after creation.
6175    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6176    /// The time at which the entity was archived. Null if the entity has not been archived.
6177    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6178    /// Notification type.
6179    pub r#type: Option<String>,
6180    /// The user that caused the notification.
6181    pub actor: Option<Box<User>>,
6182    /// The external user that caused the notification.
6183    pub external_user_actor: Option<Box<ExternalUser>>,
6184    /// The user that received the notification.
6185    pub user: Option<Box<User>>,
6186    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
6187    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
6188    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
6189    /// reminder has been sent.
6190    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
6191    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
6192    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
6193    /// The time at which a notification was unsnoozed..
6194    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
6195    /// The category of the notification.
6196    pub category: Option<NotificationCategory>,
6197    /// `Internal` URL to the target of the notification.
6198    pub url: Option<String>,
6199    /// `Internal` Inbox URL for the notification.
6200    pub inbox_url: Option<String>,
6201    /// `Internal` Notification title.
6202    pub title: Option<String>,
6203    /// `Internal` Notification subtitle.
6204    pub subtitle: Option<String>,
6205    /// `Internal` If notification actor was Linear.
6206    pub is_linear_actor: Option<bool>,
6207    /// `Internal` Notification avatar URL.
6208    pub actor_avatar_url: Option<String>,
6209    /// `Internal` Notification actor initials if avatar is not available.
6210    pub actor_initials: Option<String>,
6211    /// `Internal` Notification actor initials if avatar is not available.
6212    pub actor_avatar_color: Option<String>,
6213    /// `Internal` Issue's status type for issue notifications.
6214    pub issue_status_type: Option<String>,
6215    /// `Internal` Project update health for new updates.
6216    pub project_update_health: Option<String>,
6217    /// `Internal` Initiative update health for new updates.
6218    pub initiative_update_health: Option<String>,
6219    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
6220    pub grouping_key: Option<String>,
6221    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
6222    pub grouping_priority: Option<f64>,
6223    /// The bot that caused the notification.
6224    pub bot_actor: Option<Box<ActorBot>>,
6225    /// Related pull request.
6226    pub pull_request_id: Option<String>,
6227    /// Related pull request comment ID. Null if the notification is not related to a pull request comment.
6228    pub pull_request_comment_id: Option<String>,
6229    /// The pull request related to the notification.
6230    pub pull_request: Option<Box<PullRequest>>,
6231}
6232/// A user's web or mobile push notification subscription.
6233#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6234#[serde(rename_all = "camelCase", default)]
6235pub struct PushSubscription {
6236    /// The unique identifier of the entity.
6237    pub id: Option<String>,
6238    /// The time at which the entity was created.
6239    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6240    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6241    /// been updated after creation.
6242    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6243    /// The time at which the entity was archived. Null if the entity has not been archived.
6244    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6245}
6246#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6247#[serde(rename_all = "camelCase", default)]
6248pub struct PushSubscriptionPayload {
6249    /// The identifier of the last sync operation.
6250    pub last_sync_id: Option<f64>,
6251    /// The push subscription that was created or updated.
6252    pub entity: Option<Box<PushSubscription>>,
6253    /// Whether the operation was successful.
6254    pub success: Option<bool>,
6255}
6256#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6257#[serde(rename_all = "camelCase", default)]
6258pub struct PushSubscriptionTestPayload {
6259    /// Whether the operation was successful.
6260    pub success: Option<bool>,
6261}
6262#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6263#[serde(rename_all = "camelCase", default)]
6264pub struct RateLimitPayload {
6265    /// The identifier we rate limit on.
6266    pub identifier: Option<String>,
6267    /// The kind of rate limit selected for this request.
6268    pub kind: Option<String>,
6269    /// The state of the rate limit.
6270    pub limits: Option<Box<Vec<RateLimitResultPayload>>>,
6271}
6272#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6273#[serde(rename_all = "camelCase", default)]
6274pub struct RateLimitResultPayload {
6275    /// What is being rate limited.
6276    pub r#type: Option<String>,
6277    /// The requested quantity for this type of limit.
6278    pub requested_amount: Option<f64>,
6279    /// The total allowed quantity for this type of limit.
6280    pub allowed_amount: Option<f64>,
6281    /// The period in which the rate limit is fully replenished in ms.
6282    pub period: Option<f64>,
6283    /// The remaining quantity for this type of limit after this request.
6284    pub remaining_amount: Option<f64>,
6285    /// The timestamp after the rate limit is fully replenished as a UNIX timestamp.
6286    pub reset: Option<f64>,
6287}
6288/// A reaction associated with a comment or a project update.
6289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6290#[serde(rename_all = "camelCase", default)]
6291pub struct Reaction {
6292    /// The unique identifier of the entity.
6293    pub id: Option<String>,
6294    /// The time at which the entity was created.
6295    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6296    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6297    /// been updated after creation.
6298    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6299    /// The time at which the entity was archived. Null if the entity has not been archived.
6300    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6301    /// Name of the reaction's emoji.
6302    pub emoji: Option<String>,
6303    /// The issue that the reaction is associated with.
6304    pub issue: Option<Box<Issue>>,
6305    /// The comment that the reaction is associated with.
6306    pub comment: Option<Box<Comment>>,
6307    /// The project update that the reaction is associated with.
6308    pub project_update: Option<Box<ProjectUpdate>>,
6309    /// The initiative update that the reaction is associated with.
6310    pub initiative_update: Option<Box<InitiativeUpdate>>,
6311    /// The post that the reaction is associated with.
6312    pub post: Option<Box<Post>>,
6313    /// The user that created the reaction.
6314    pub user: Option<Box<User>>,
6315    /// The external user that created the reaction.
6316    pub external_user: Option<Box<ExternalUser>>,
6317}
6318#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6319#[serde(rename_all = "camelCase", default)]
6320pub struct ReactionPayload {
6321    /// The identifier of the last sync operation.
6322    pub last_sync_id: Option<f64>,
6323    pub reaction: Option<Box<Reaction>>,
6324    pub success: Option<bool>,
6325}
6326/// `Internal` A release.
6327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6328#[serde(rename_all = "camelCase", default)]
6329pub struct Release {
6330    /// The unique identifier of the entity.
6331    pub id: Option<String>,
6332    /// The time at which the entity was created.
6333    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6334    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6335    /// been updated after creation.
6336    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6337    /// The time at which the entity was archived. Null if the entity has not been archived.
6338    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6339    /// The name of the release.
6340    pub name: Option<String>,
6341    /// The release's description.
6342    pub description: Option<String>,
6343    /// The version of the release.
6344    pub version: Option<String>,
6345    /// The commit SHA associated with this release.
6346    pub commit_sha: Option<String>,
6347    /// The pipeline this release belongs to.
6348    pub pipeline: Option<Box<ReleasePipeline>>,
6349    /// The current stage of the release.
6350    pub stage: Option<Box<ReleaseStage>>,
6351    /// The release's unique URL slug.
6352    pub slug_id: Option<String>,
6353    /// The estimated start date of the release.
6354    pub start_date: Option<chrono::NaiveDate>,
6355    /// The estimated completion date of the release.
6356    pub target_date: Option<chrono::NaiveDate>,
6357    /// The time at which the release was started.
6358    pub started_at: Option<chrono::DateTime<chrono::Utc>>,
6359    /// The time at which the release was completed.
6360    pub completed_at: Option<chrono::DateTime<chrono::Utc>>,
6361    /// The time at which the release was canceled.
6362    pub canceled_at: Option<chrono::DateTime<chrono::Utc>>,
6363    /// Release URL.
6364    pub url: Option<String>,
6365    /// `Internal` Documents associated with the release.
6366    pub documents: Option<Box<DocumentConnection>>,
6367    /// `Internal` Links associated with the release.
6368    pub links: Option<Box<EntityExternalLinkConnection>>,
6369}
6370/// A generic payload return from entity archive mutations.
6371#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6372#[serde(rename_all = "camelCase", default)]
6373pub struct ReleaseArchivePayload {
6374    /// The identifier of the last sync operation.
6375    pub last_sync_id: Option<f64>,
6376    /// Whether the operation was successful.
6377    pub success: Option<bool>,
6378    /// The archived/unarchived entity. Null if entity was deleted.
6379    pub entity: Option<Box<Release>>,
6380}
6381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6382#[serde(rename_all = "camelCase", default)]
6383pub struct ReleaseConnection {
6384    pub edges: Option<Box<Vec<ReleaseEdge>>>,
6385    pub nodes: Option<Box<Vec<Release>>>,
6386    pub page_info: Option<Box<PageInfo>>,
6387}
6388#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6389#[serde(rename_all = "camelCase", default)]
6390pub struct ReleaseEdge {
6391    pub node: Option<Box<Release>>,
6392    /// Used in `before` and `after` args
6393    pub cursor: Option<String>,
6394}
6395#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6396#[serde(rename_all = "camelCase", default)]
6397pub struct ReleasePayload {
6398    /// The identifier of the last sync operation.
6399    pub last_sync_id: Option<f64>,
6400    /// The release that was created or updated.
6401    pub release: Option<Box<Release>>,
6402    /// Whether the operation was successful.
6403    pub success: Option<bool>,
6404}
6405/// `Internal` A release pipeline.
6406#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6407#[serde(rename_all = "camelCase", default)]
6408pub struct ReleasePipeline {
6409    /// The unique identifier of the entity.
6410    pub id: Option<String>,
6411    /// The time at which the entity was created.
6412    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6413    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6414    /// been updated after creation.
6415    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6416    /// The time at which the entity was archived. Null if the entity has not been archived.
6417    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6418    /// The name of the pipeline.
6419    pub name: Option<String>,
6420    /// The pipeline's unique slug identifier.
6421    pub slug_id: Option<String>,
6422    /// The type of the pipeline.
6423    pub r#type: Option<ReleasePipelineType>,
6424    /// Glob patterns to include commits affecting matching file paths.
6425    pub include_path_patterns: Option<Vec<String>>,
6426    /// `ALPHA` Stages associated with this pipeline.
6427    pub stages: Option<Box<ReleaseStageConnection>>,
6428    /// `ALPHA` Releases associated with this pipeline.
6429    pub releases: Option<Box<ReleaseConnection>>,
6430}
6431/// A generic payload return from entity archive mutations.
6432#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6433#[serde(rename_all = "camelCase", default)]
6434pub struct ReleasePipelineArchivePayload {
6435    /// The identifier of the last sync operation.
6436    pub last_sync_id: Option<f64>,
6437    /// Whether the operation was successful.
6438    pub success: Option<bool>,
6439    /// The archived/unarchived entity. Null if entity was deleted.
6440    pub entity: Option<Box<ReleasePipeline>>,
6441}
6442#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6443#[serde(rename_all = "camelCase", default)]
6444pub struct ReleasePipelineConnection {
6445    pub edges: Option<Box<Vec<ReleasePipelineEdge>>>,
6446    pub nodes: Option<Box<Vec<ReleasePipeline>>>,
6447    pub page_info: Option<Box<PageInfo>>,
6448}
6449#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6450#[serde(rename_all = "camelCase", default)]
6451pub struct ReleasePipelineEdge {
6452    pub node: Option<Box<ReleasePipeline>>,
6453    /// Used in `before` and `after` args
6454    pub cursor: Option<String>,
6455}
6456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6457#[serde(rename_all = "camelCase", default)]
6458pub struct ReleasePipelinePayload {
6459    /// The identifier of the last sync operation.
6460    pub last_sync_id: Option<f64>,
6461    /// The release pipeline that was created or updated.
6462    pub release_pipeline: Option<Box<ReleasePipeline>>,
6463    /// Whether the operation was successful.
6464    pub success: Option<bool>,
6465}
6466/// `Internal` A release stage.
6467#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6468#[serde(rename_all = "camelCase", default)]
6469pub struct ReleaseStage {
6470    /// The unique identifier of the entity.
6471    pub id: Option<String>,
6472    /// The time at which the entity was created.
6473    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6474    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6475    /// been updated after creation.
6476    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6477    /// The time at which the entity was archived. Null if the entity has not been archived.
6478    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6479    /// The name of the stage.
6480    pub name: Option<String>,
6481    /// The UI color of the stage as a HEX string.
6482    pub color: Option<String>,
6483    /// The type of the stage.
6484    pub r#type: Option<ReleaseStageType>,
6485    /// The position of the stage.
6486    pub position: Option<f64>,
6487    /// The pipeline this stage belongs to.
6488    pub pipeline: Option<Box<ReleasePipeline>>,
6489    /// `ALPHA` Releases associated with this stage.
6490    pub releases: Option<Box<ReleaseConnection>>,
6491}
6492/// A generic payload return from entity archive mutations.
6493#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6494#[serde(rename_all = "camelCase", default)]
6495pub struct ReleaseStageArchivePayload {
6496    /// The identifier of the last sync operation.
6497    pub last_sync_id: Option<f64>,
6498    /// Whether the operation was successful.
6499    pub success: Option<bool>,
6500    /// The archived/unarchived entity. Null if entity was deleted.
6501    pub entity: Option<Box<ReleaseStage>>,
6502}
6503#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6504#[serde(rename_all = "camelCase", default)]
6505pub struct ReleaseStageConnection {
6506    pub edges: Option<Box<Vec<ReleaseStageEdge>>>,
6507    pub nodes: Option<Box<Vec<ReleaseStage>>>,
6508    pub page_info: Option<Box<PageInfo>>,
6509}
6510#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6511#[serde(rename_all = "camelCase", default)]
6512pub struct ReleaseStageEdge {
6513    pub node: Option<Box<ReleaseStage>>,
6514    /// Used in `before` and `after` args
6515    pub cursor: Option<String>,
6516}
6517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6518#[serde(rename_all = "camelCase", default)]
6519pub struct ReleaseStagePayload {
6520    /// The identifier of the last sync operation.
6521    pub last_sync_id: Option<f64>,
6522    /// The release stage that was created or updated.
6523    pub release_stage: Option<Box<ReleaseStage>>,
6524    /// Whether the operation was successful.
6525    pub success: Option<bool>,
6526}
6527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6528#[serde(rename_all = "camelCase", default)]
6529pub struct RepositorySuggestion {
6530    /// The full name of the repository in owner/name format (e.g., 'acme/backend').
6531    pub repository_full_name: Option<String>,
6532    /// Hostname of the Git service (e.g., 'github.com', 'github.company.com').
6533    pub hostname: Option<String>,
6534    /// Confidence score from 0.0 to 1.0.
6535    pub confidence: Option<f64>,
6536}
6537#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6538#[serde(rename_all = "camelCase", default)]
6539pub struct RepositorySuggestionsPayload {
6540    /// The suggested repositories.
6541    pub suggestions: Option<Box<Vec<RepositorySuggestion>>>,
6542}
6543/// `Deprecated` A roadmap for projects.
6544#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6545#[serde(rename_all = "camelCase", default)]
6546pub struct Roadmap {
6547    /// The unique identifier of the entity.
6548    pub id: Option<String>,
6549    /// The time at which the entity was created.
6550    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6551    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6552    /// been updated after creation.
6553    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6554    /// The time at which the entity was archived. Null if the entity has not been archived.
6555    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6556    /// The name of the roadmap.
6557    pub name: Option<String>,
6558    /// The description of the roadmap.
6559    pub description: Option<String>,
6560    /// The organization of the roadmap.
6561    pub organization: Option<Box<Organization>>,
6562    /// The user who created the roadmap.
6563    pub creator: Option<Box<User>>,
6564    /// The user who owns the roadmap.
6565    pub owner: Option<Box<User>>,
6566    /// The roadmap's unique URL slug.
6567    pub slug_id: Option<String>,
6568    /// The sort order of the roadmap within the organization.
6569    pub sort_order: Option<f64>,
6570    /// The roadmap's color.
6571    pub color: Option<String>,
6572    /// Projects associated with the roadmap.
6573    pub projects: Option<Box<ProjectConnection>>,
6574    /// The canonical url for the roadmap.
6575    pub url: Option<String>,
6576}
6577/// A generic payload return from entity archive mutations.
6578#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6579#[serde(rename_all = "camelCase", default)]
6580pub struct RoadmapArchivePayload {
6581    /// The identifier of the last sync operation.
6582    pub last_sync_id: Option<f64>,
6583    /// Whether the operation was successful.
6584    pub success: Option<bool>,
6585    /// The archived/unarchived entity. Null if entity was deleted.
6586    pub entity: Option<Box<Roadmap>>,
6587}
6588#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6589#[serde(rename_all = "camelCase", default)]
6590pub struct RoadmapConnection {
6591    pub edges: Option<Box<Vec<RoadmapEdge>>>,
6592    pub nodes: Option<Box<Vec<Roadmap>>>,
6593    pub page_info: Option<Box<PageInfo>>,
6594}
6595#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6596#[serde(rename_all = "camelCase", default)]
6597pub struct RoadmapEdge {
6598    pub node: Option<Box<Roadmap>>,
6599    /// Used in `before` and `after` args
6600    pub cursor: Option<String>,
6601}
6602#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6603#[serde(rename_all = "camelCase", default)]
6604pub struct RoadmapPayload {
6605    /// The identifier of the last sync operation.
6606    pub last_sync_id: Option<f64>,
6607    /// The roadmap that was created or updated.
6608    pub roadmap: Option<Box<Roadmap>>,
6609    /// Whether the operation was successful.
6610    pub success: Option<bool>,
6611}
6612/// `Deprecated` Join table between projects and roadmaps.
6613#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6614#[serde(rename_all = "camelCase", default)]
6615pub struct RoadmapToProject {
6616    /// The unique identifier of the entity.
6617    pub id: Option<String>,
6618    /// The time at which the entity was created.
6619    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6620    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6621    /// been updated after creation.
6622    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6623    /// The time at which the entity was archived. Null if the entity has not been archived.
6624    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6625    /// The project that the roadmap is associated with.
6626    pub project: Option<Box<Project>>,
6627    /// The roadmap that the project is associated with.
6628    pub roadmap: Option<Box<Roadmap>>,
6629    /// The sort order of the project within the roadmap.
6630    pub sort_order: Option<String>,
6631}
6632#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6633#[serde(rename_all = "camelCase", default)]
6634pub struct RoadmapToProjectConnection {
6635    pub edges: Option<Box<Vec<RoadmapToProjectEdge>>>,
6636    pub nodes: Option<Box<Vec<RoadmapToProject>>>,
6637    pub page_info: Option<Box<PageInfo>>,
6638}
6639#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6640#[serde(rename_all = "camelCase", default)]
6641pub struct RoadmapToProjectEdge {
6642    pub node: Option<Box<RoadmapToProject>>,
6643    /// Used in `before` and `after` args
6644    pub cursor: Option<String>,
6645}
6646#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6647#[serde(rename_all = "camelCase", default)]
6648pub struct RoadmapToProjectPayload {
6649    /// The identifier of the last sync operation.
6650    pub last_sync_id: Option<f64>,
6651    /// The roadmapToProject that was created or updated.
6652    pub roadmap_to_project: Option<Box<RoadmapToProject>>,
6653    /// Whether the operation was successful.
6654    pub success: Option<bool>,
6655}
6656/// Payload returned by semantic search.
6657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6658#[serde(rename_all = "camelCase", default)]
6659pub struct SemanticSearchPayload {
6660    /// Whether the semantic search is enabled.
6661    pub enabled: Option<bool>,
6662    pub results: Option<Box<Vec<SemanticSearchResult>>>,
6663}
6664/// A semantic search result reference.
6665#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6666#[serde(rename_all = "camelCase", default)]
6667pub struct SemanticSearchResult {
6668    /// The unique identifier of the entity.
6669    pub id: Option<String>,
6670    /// The type of the semantic search result.
6671    pub r#type: Option<SemanticSearchResultType>,
6672    /// The issue related to the semantic search result.
6673    pub issue: Option<Box<Issue>>,
6674    /// The project related to the semantic search result.
6675    pub project: Option<Box<Project>>,
6676    /// The initiative related to the semantic search result.
6677    pub initiative: Option<Box<Initiative>>,
6678    /// The document related to the semantic search result.
6679    pub document: Option<Box<Document>>,
6680}
6681/// SES domain identity used for sending emails from a custom domain.
6682#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6683#[serde(rename_all = "camelCase", default)]
6684pub struct SesDomainIdentity {
6685    /// The unique identifier of the entity.
6686    pub id: Option<String>,
6687    /// The time at which the entity was created.
6688    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6689    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6690    /// been updated after creation.
6691    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6692    /// The time at which the entity was archived. Null if the entity has not been archived.
6693    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6694    /// The domain of the SES domain identity.
6695    pub domain: Option<String>,
6696    /// The AWS region of the SES domain identity.
6697    pub region: Option<String>,
6698    /// The organization of the SES domain identity.
6699    pub organization: Option<Box<Organization>>,
6700    /// The user who created the SES domain identity.
6701    pub creator: Option<Box<User>>,
6702    /// Whether the domain is fully verified and can be used for sending emails.
6703    pub can_send_from_custom_domain: Option<bool>,
6704    /// The DNS records for the SES domain identity.
6705    pub dns_records: Option<Box<Vec<SesDomainIdentityDnsRecord>>>,
6706}
6707/// A DNS record for a SES domain identity.
6708#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6709#[serde(rename_all = "camelCase", default)]
6710pub struct SesDomainIdentityDnsRecord {
6711    /// The type of the DNS record.
6712    pub r#type: Option<String>,
6713    /// The name of the DNS record.
6714    pub name: Option<String>,
6715    /// The content of the DNS record.
6716    pub content: Option<String>,
6717    /// Whether the DNS record is verified in the domain's DNS configuration.
6718    pub is_verified: Option<bool>,
6719}
6720/// Tuple for mapping Slack channel IDs to names.
6721#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6722#[serde(rename_all = "camelCase", default)]
6723pub struct SlackAsksTeamSettings {
6724    /// The Linear team ID.
6725    pub id: Option<String>,
6726    /// Whether the default Asks template is enabled in the given channel for this team.
6727    pub has_default_ask: Option<bool>,
6728}
6729#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6730#[serde(rename_all = "camelCase", default)]
6731pub struct SlackChannelConnectPayload {
6732    /// The identifier of the last sync operation.
6733    pub last_sync_id: Option<f64>,
6734    /// The integration that was created or updated.
6735    pub integration: Option<Box<Integration>>,
6736    /// Whether the operation was successful.
6737    pub success: Option<bool>,
6738    /// Whether the bot needs to be manually added to the channel.
6739    pub add_bot: Option<bool>,
6740    /// Whether it's recommended to connect main Slack integration.
6741    pub nudge_to_connect_main_slack_integration: Option<bool>,
6742    /// Whether it's recommended to update main Slack integration.
6743    pub nudge_to_update_main_slack_integration: Option<bool>,
6744}
6745/// Object for mapping Slack channel IDs to names and other settings.
6746#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6747#[serde(rename_all = "camelCase", default)]
6748pub struct SlackChannelNameMapping {
6749    /// The Slack channel ID.
6750    pub id: Option<String>,
6751    /// The Slack channel name.
6752    pub name: Option<String>,
6753    /// Whether or not the Slack channel is private.
6754    pub is_private: Option<bool>,
6755    /// Whether or not the Slack channel is shared with an external org.
6756    pub is_shared: Option<bool>,
6757    /// Whether or not the Linear Asks bot has been added to this Slack channel.
6758    pub bot_added: Option<bool>,
6759    /// Which teams are connected to the channel and settings for those teams.
6760    pub teams: Option<Box<Vec<SlackAsksTeamSettings>>>,
6761    /// Whether or not top-level messages in this channel should automatically create Asks.
6762    pub auto_create_on_message: Option<bool>,
6763    /// Whether or not using the :ticket: emoji in this channel should automatically create Asks.
6764    pub auto_create_on_emoji: Option<bool>,
6765    /// Whether or not @-mentioning the bot should automatically create an Ask with the message.
6766    pub auto_create_on_bot_mention: Option<bool>,
6767    /// The optional template ID to use for Asks auto-created in this channel. If not set, auto-created Asks won't use any template.
6768    pub auto_create_template_id: Option<String>,
6769    /// Whether or not synced Slack threads should be updated with a message and emoji when their Ask is canceled.
6770    pub post_cancellation_updates: Option<bool>,
6771    /// Whether or not synced Slack threads should be updated with a message and emoji when their Ask is completed.
6772    pub post_completion_updates: Option<bool>,
6773    /// Whether or not synced Slack threads should be updated with a message when their Ask is accepted from triage.
6774    pub post_accepted_from_triage_updates: Option<bool>,
6775    /// Whether or not to use AI to generate titles for Asks created in this channel.
6776    pub ai_titles: Option<bool>,
6777}
6778#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6779#[serde(rename_all = "camelCase", default)]
6780pub struct SsoUrlFromEmailResponse {
6781    /// Whether the operation was successful.
6782    pub success: Option<bool>,
6783    /// SAML SSO sign-in URL.
6784    pub saml_sso_url: Option<String>,
6785}
6786#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6787#[serde(rename_all = "camelCase", default)]
6788pub struct SuccessPayload {
6789    /// The identifier of the last sync operation.
6790    pub last_sync_id: Option<f64>,
6791    /// Whether the operation was successful.
6792    pub success: Option<bool>,
6793}
6794/// An AI-generated summary.
6795#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6796#[serde(rename_all = "camelCase", default)]
6797pub struct Summary {
6798    /// The unique identifier of the entity.
6799    pub id: Option<String>,
6800    /// The time at which the entity was created.
6801    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6802    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6803    /// been updated after creation.
6804    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6805    /// The time at which the entity was archived. Null if the entity has not been archived.
6806    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6807    /// The issue this summary belongs to.
6808    pub issue: Option<Box<Issue>>,
6809    /// The summary content as a Prosemirror document.
6810    pub content: Option<serde_json::Value>,
6811    /// The evaluation log id for this summary generation.
6812    pub eval_log_id: Option<String>,
6813    /// The generation status of the summary.
6814    pub generation_status: Option<SummaryGenerationStatus>,
6815    /// The time at which the summary was generated.
6816    pub generated_at: Option<chrono::DateTime<chrono::Utc>>,
6817}
6818/// A comment thread that is synced with an external source.
6819#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6820#[serde(rename_all = "camelCase", default)]
6821pub struct SyncedExternalThread {
6822    pub id: Option<String>,
6823    /// The type of the external source.
6824    pub r#type: Option<String>,
6825    /// The sub type of the external source.
6826    pub sub_type: Option<String>,
6827    /// The display name of the source.
6828    pub name: Option<String>,
6829    /// The display name of the thread.
6830    pub display_name: Option<String>,
6831    /// The external url of the thread.
6832    pub url: Option<String>,
6833    /// Whether this thread is syncing with the external service.
6834    pub is_connected: Option<bool>,
6835    /// Whether the current user has the corresponding personal integration connected for the external service.
6836    pub is_personal_integration_connected: Option<bool>,
6837    /// Whether a connected personal integration is required to comment in this thread.
6838    pub is_personal_integration_required: Option<bool>,
6839}
6840/// An organizational unit that contains issues.
6841#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6842#[serde(rename_all = "camelCase", default)]
6843pub struct Team {
6844    /// The unique identifier of the entity.
6845    pub id: Option<String>,
6846    /// The time at which the entity was created.
6847    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
6848    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
6849    /// been updated after creation.
6850    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
6851    /// The time at which the entity was archived. Null if the entity has not been archived.
6852    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
6853    /// The team's name.
6854    pub name: Option<String>,
6855    /// The team's unique key. The key is used in URLs.
6856    pub key: Option<String>,
6857    /// The team's description.
6858    pub description: Option<String>,
6859    /// The icon of the team.
6860    pub icon: Option<String>,
6861    /// The team's color.
6862    pub color: Option<String>,
6863    /// The time at which the team was retired. Null if the team has not been retired.
6864    pub retired_at: Option<chrono::DateTime<chrono::Utc>>,
6865    /// The organization that the team is associated with.
6866    pub organization: Option<Box<Organization>>,
6867    /// `Internal` The team's parent team.
6868    pub parent: Option<Box<Team>>,
6869    /// `Internal` The team's sub-teams.
6870    pub children: Option<Box<Vec<Team>>>,
6871    /// Whether the team uses cycles.
6872    pub cycles_enabled: Option<bool>,
6873    /// The day of the week that a new cycle starts.
6874    pub cycle_start_day: Option<f64>,
6875    /// The duration of a cycle in weeks.
6876    pub cycle_duration: Option<f64>,
6877    /// The cooldown time after each cycle in weeks.
6878    pub cycle_cooldown_time: Option<f64>,
6879    /// Auto assign started issues to current cycle.
6880    pub cycle_issue_auto_assign_started: Option<bool>,
6881    /// Auto assign completed issues to current cycle.
6882    pub cycle_issue_auto_assign_completed: Option<bool>,
6883    /// Auto assign issues to current cycle if in active status.
6884    pub cycle_lock_to_active: Option<bool>,
6885    /// How many upcoming cycles to create.
6886    pub upcoming_cycle_count: Option<f64>,
6887    /// The timezone of the team. Defaults to "America/Los_Angeles"
6888    pub timezone: Option<String>,
6889    /// Whether the team should inherit its workflow statuses from its parent. Only applies to sub-teams.
6890    pub inherit_workflow_statuses: Option<bool>,
6891    /// Whether the team should inherit its estimation settings from its parent. Only applies to sub-teams.
6892    pub inherit_issue_estimation: Option<bool>,
6893    /// The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt".
6894    pub issue_estimation_type: Option<String>,
6895    /// `DEPRECATED` Whether issues without priority should be sorted first.
6896    pub issue_ordering_no_priority_first: Option<bool>,
6897    /// Whether to allow zeros in issues estimates.
6898    pub issue_estimation_allow_zero: Option<bool>,
6899    /// Where to move issues when changing state.
6900    pub set_issue_sort_order_on_state_change: Option<String>,
6901    /// Whether to add additional points to the estimate scale.
6902    pub issue_estimation_extended: Option<bool>,
6903    /// What to use as a default estimate for unestimated issues.
6904    pub default_issue_estimate: Option<f64>,
6905    /// Whether triage mode is enabled for the team or not.
6906    pub triage_enabled: Option<bool>,
6907    /// Whether an issue needs to have a priority set before leaving triage.
6908    pub require_priority_to_leave_triage: Option<bool>,
6909    /// The default workflow state into which issues are set when they are opened by team members.
6910    pub default_issue_state: Option<Box<WorkflowState>>,
6911    /// The default template to use for new issues created by members of the team.
6912    pub default_template_for_members: Option<Box<Template>>,
6913    /// The id of the default template to use for new issues created by members of the team.
6914    pub default_template_for_members_id: Option<String>,
6915    /// The default template to use for new issues created by non-members of the team.
6916    pub default_template_for_non_members: Option<Box<Template>>,
6917    /// The id of the default template to use for new issues created by non-members of the team.
6918    pub default_template_for_non_members_id: Option<String>,
6919    /// The default template to use for new projects created for the team.
6920    pub default_project_template: Option<Box<Template>>,
6921    /// The workflow state into which issues are set when they are opened by non-team members or integrations if triage is enabled.
6922    pub triage_issue_state: Option<Box<WorkflowState>>,
6923    /// Whether the team is private or not.
6924    pub private: Option<bool>,
6925    /// Whether all members in the workspace can join the team. Only used for public teams.
6926    pub all_members_can_join: Option<bool>,
6927    /// Security settings for the team.
6928    pub security_settings: Option<serde_json::Value>,
6929    /// `Internal` Facets associated with the team.
6930    pub facets: Option<Box<Vec<Facet>>>,
6931    /// `Internal` Posts associated with the team.
6932    pub posts: Option<Box<Vec<Post>>>,
6933    /// Whether the team is managed by SCIM integration.
6934    pub scim_managed: Option<bool>,
6935    /// The SCIM group name for the team.
6936    pub scim_group_name: Option<String>,
6937    /// `Internal` The progress history of the team.
6938    pub progress_history: Option<serde_json::Value>,
6939    /// `Internal` The current progress of the team.
6940    pub current_progress: Option<serde_json::Value>,
6941    /// The workflow state into which issues are moved when a PR has been opened as draft.
6942    pub draft_workflow_state: Option<Box<WorkflowState>>,
6943    /// The workflow state into which issues are moved when a PR has been opened.
6944    pub start_workflow_state: Option<Box<WorkflowState>>,
6945    /// The workflow state into which issues are moved when a review has been requested for the PR.
6946    pub review_workflow_state: Option<Box<WorkflowState>>,
6947    /// The workflow state into which issues are moved when a PR is ready to be merged.
6948    pub mergeable_workflow_state: Option<Box<WorkflowState>>,
6949    /// The workflow state into which issues are moved when a PR has been merged.
6950    pub merge_workflow_state: Option<Box<WorkflowState>>,
6951    /// Whether to group recent issue history entries.
6952    pub group_issue_history: Option<bool>,
6953    /// Whether to enable resolved thread AI summaries.
6954    pub ai_thread_summaries_enabled: Option<bool>,
6955    /// Whether to enable AI discussion summaries for issues in this team.
6956    pub ai_discussion_summaries_enabled: Option<bool>,
6957    /// Whether to send new issue notifications to Slack.
6958    pub slack_new_issue: Option<bool>,
6959    /// Whether to send new issue comment notifications to Slack.
6960    pub slack_issue_comments: Option<bool>,
6961    /// Whether to send new issue status updates to Slack.
6962    pub slack_issue_statuses: Option<bool>,
6963    /// Period after which issues are automatically closed in months. Null/undefined means disabled.
6964    pub auto_close_period: Option<f64>,
6965    /// The canceled workflow state which auto closed issues will be set to. Defaults to the first canceled state.
6966    pub auto_close_state_id: Option<String>,
6967    /// Period after which automatically closed and completed issues are automatically archived in months.
6968    pub auto_archive_period: Option<f64>,
6969    /// Whether parent issues should automatically close when all child issues are closed
6970    pub auto_close_parent_issues: Option<bool>,
6971    /// Whether child issues should automatically close when their parent issue is closed
6972    pub auto_close_child_issues: Option<bool>,
6973    /// The workflow state into which issues are moved when they are marked as a duplicate of another issue. Defaults to the first canceled state.
6974    pub marked_as_duplicate_workflow_state: Option<Box<WorkflowState>>,
6975    /// `Internal` Whether new users should join this team by default.
6976    pub join_by_default: Option<bool>,
6977    /// Calendar feed URL (iCal) for cycles.
6978    pub cycle_calender_url: Option<String>,
6979    /// The name of the team including its parent team name if it has one.
6980    pub display_name: Option<String>,
6981    /// Issues associated with the team.
6982    pub issues: Option<Box<IssueConnection>>,
6983    /// Number of issues in the team.
6984    pub issue_count: Option<i64>,
6985    /// Cycles associated with the team.
6986    pub cycles: Option<Box<CycleConnection>>,
6987    /// Team's currently active cycle.
6988    pub active_cycle: Option<Box<Cycle>>,
6989    /// Team's triage responsibility.
6990    pub triage_responsibility: Option<Box<TriageResponsibility>>,
6991    /// Users who are members of this team.
6992    pub members: Option<Box<UserConnection>>,
6993    /// `ALPHA` The membership of the given user in the team.
6994    pub membership: Option<Box<TeamMembership>>,
6995    /// Memberships associated with the team. For easier access of the same data, use `members` query.
6996    pub memberships: Option<Box<TeamMembershipConnection>>,
6997    /// Projects associated with the team.
6998    pub projects: Option<Box<ProjectConnection>>,
6999    /// The states that define the workflow associated with the team.
7000    pub states: Option<Box<WorkflowStateConnection>>,
7001    /// The Git automation states for the team.
7002    pub git_automation_states: Option<Box<GitAutomationStateConnection>>,
7003    /// Templates associated with the team.
7004    pub templates: Option<Box<TemplateConnection>>,
7005    /// Labels associated with the team.
7006    pub labels: Option<Box<IssueLabelConnection>>,
7007    /// Webhooks associated with the team.
7008    pub webhooks: Option<Box<WebhookConnection>>,
7009    /// Settings for all integrations associated with that team.
7010    pub integrations_settings: Option<Box<IntegrationsSettings>>,
7011    /// `DEPRECATED` Whether to move issues to bottom of the column when changing state.
7012    pub issue_sort_order_default_to_bottom: Option<bool>,
7013    /// `DEPRECATED` Unique hash for the team to be used in invite URLs.
7014    pub invite_hash: Option<String>,
7015}
7016/// A generic payload return from entity archive mutations.
7017#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7018#[serde(rename_all = "camelCase", default)]
7019pub struct TeamArchivePayload {
7020    /// The identifier of the last sync operation.
7021    pub last_sync_id: Option<f64>,
7022    /// Whether the operation was successful.
7023    pub success: Option<bool>,
7024    /// The archived/unarchived entity. Null if entity was deleted.
7025    pub entity: Option<Box<Team>>,
7026}
7027#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7028#[serde(rename_all = "camelCase", default)]
7029pub struct TeamConnection {
7030    pub edges: Option<Box<Vec<TeamEdge>>>,
7031    pub nodes: Option<Box<Vec<Team>>>,
7032    pub page_info: Option<Box<PageInfo>>,
7033}
7034#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7035#[serde(rename_all = "camelCase", default)]
7036pub struct TeamEdge {
7037    pub node: Option<Box<Team>>,
7038    /// Used in `before` and `after` args
7039    pub cursor: Option<String>,
7040}
7041/// Defines the membership of a user to a team.
7042#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7043#[serde(rename_all = "camelCase", default)]
7044pub struct TeamMembership {
7045    /// The unique identifier of the entity.
7046    pub id: Option<String>,
7047    /// The time at which the entity was created.
7048    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7049    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7050    /// been updated after creation.
7051    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7052    /// The time at which the entity was archived. Null if the entity has not been archived.
7053    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7054    /// The user that the membership is associated with.
7055    pub user: Option<Box<User>>,
7056    /// The team that the membership is associated with.
7057    pub team: Option<Box<Team>>,
7058    /// Whether the user is an owner of the team.
7059    pub owner: Option<bool>,
7060    /// The order of the item in the users team list.
7061    pub sort_order: Option<f64>,
7062}
7063#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7064#[serde(rename_all = "camelCase", default)]
7065pub struct TeamMembershipConnection {
7066    pub edges: Option<Box<Vec<TeamMembershipEdge>>>,
7067    pub nodes: Option<Box<Vec<TeamMembership>>>,
7068    pub page_info: Option<Box<PageInfo>>,
7069}
7070#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7071#[serde(rename_all = "camelCase", default)]
7072pub struct TeamMembershipEdge {
7073    pub node: Option<Box<TeamMembership>>,
7074    /// Used in `before` and `after` args
7075    pub cursor: Option<String>,
7076}
7077#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7078#[serde(rename_all = "camelCase", default)]
7079pub struct TeamMembershipPayload {
7080    /// The identifier of the last sync operation.
7081    pub last_sync_id: Option<f64>,
7082    /// The team membership that was created or updated.
7083    pub team_membership: Option<Box<TeamMembership>>,
7084    /// Whether the operation was successful.
7085    pub success: Option<bool>,
7086}
7087/// A team notification subscription.
7088#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7089#[serde(rename_all = "camelCase", default)]
7090pub struct TeamNotificationSubscription {
7091    /// The unique identifier of the entity.
7092    pub id: Option<String>,
7093    /// The time at which the entity was created.
7094    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7095    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7096    /// been updated after creation.
7097    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7098    /// The time at which the entity was archived. Null if the entity has not been archived.
7099    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7100    /// The user that subscribed to receive notifications.
7101    pub subscriber: Option<Box<User>>,
7102    /// The customer associated with the notification subscription.
7103    pub customer: Option<Box<Customer>>,
7104    /// The contextual custom view associated with the notification subscription.
7105    pub custom_view: Option<Box<CustomView>>,
7106    /// The contextual cycle view associated with the notification subscription.
7107    pub cycle: Option<Box<Cycle>>,
7108    /// The contextual label view associated with the notification subscription.
7109    pub label: Option<Box<IssueLabel>>,
7110    /// The contextual project view associated with the notification subscription.
7111    pub project: Option<Box<Project>>,
7112    /// The contextual initiative view associated with the notification subscription.
7113    pub initiative: Option<Box<Initiative>>,
7114    /// The team subscribed to.
7115    pub team: Option<Box<Team>>,
7116    /// The user view associated with the notification subscription.
7117    pub user: Option<Box<User>>,
7118    /// The type of view to which the notification subscription context is associated with.
7119    pub context_view_type: Option<ContextViewType>,
7120    /// The type of user view to which the notification subscription context is associated with.
7121    pub user_context_view_type: Option<UserContextViewType>,
7122    /// Whether the subscription is active or not.
7123    pub active: Option<bool>,
7124    /// The type of subscription.
7125    pub notification_subscription_types: Option<Vec<String>>,
7126}
7127#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7128#[serde(rename_all = "camelCase", default)]
7129pub struct TeamPayload {
7130    /// The identifier of the last sync operation.
7131    pub last_sync_id: Option<f64>,
7132    /// The team that was created or updated.
7133    pub team: Option<Box<Team>>,
7134    /// Whether the operation was successful.
7135    pub success: Option<bool>,
7136}
7137/// A template object used for creating entities faster.
7138#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7139#[serde(rename_all = "camelCase", default)]
7140pub struct Template {
7141    /// The unique identifier of the entity.
7142    pub id: Option<String>,
7143    /// The time at which the entity was created.
7144    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7145    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7146    /// been updated after creation.
7147    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7148    /// The time at which the entity was archived. Null if the entity has not been archived.
7149    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7150    /// The entity type this template is for.
7151    pub r#type: Option<String>,
7152    /// The name of the template.
7153    pub name: Option<String>,
7154    /// Template description.
7155    pub description: Option<String>,
7156    /// Template data.
7157    pub template_data: Option<serde_json::Value>,
7158    /// The sort order of the template.
7159    pub sort_order: Option<f64>,
7160    /// The date when the template was last applied.
7161    pub last_applied_at: Option<chrono::DateTime<chrono::Utc>>,
7162    /// The organization that the template is associated with. If null, the template is associated with a particular team.
7163    pub organization: Option<Box<Organization>>,
7164    /// The team that the template is associated with. If null, the template is global to the workspace.
7165    pub team: Option<Box<Team>>,
7166    /// The user who created the template.
7167    pub creator: Option<Box<User>>,
7168    /// The user who last updated the template.
7169    pub last_updated_by: Option<Box<User>>,
7170    /// The original template inherited from.
7171    pub inherited_from: Option<Box<Template>>,
7172    /// `Internal` Whether the template has form fields
7173    pub has_form_fields: Option<bool>,
7174}
7175#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7176#[serde(rename_all = "camelCase", default)]
7177pub struct TemplateConnection {
7178    pub edges: Option<Box<Vec<TemplateEdge>>>,
7179    pub nodes: Option<Box<Vec<Template>>>,
7180    pub page_info: Option<Box<PageInfo>>,
7181}
7182#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7183#[serde(rename_all = "camelCase", default)]
7184pub struct TemplateEdge {
7185    pub node: Option<Box<Template>>,
7186    /// Used in `before` and `after` args
7187    pub cursor: Option<String>,
7188}
7189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7190#[serde(rename_all = "camelCase", default)]
7191pub struct TemplatePayload {
7192    /// The identifier of the last sync operation.
7193    pub last_sync_id: Option<f64>,
7194    /// The template that was created or updated.
7195    pub template: Option<Box<Template>>,
7196    /// Whether the operation was successful.
7197    pub success: Option<bool>,
7198}
7199/// A time schedule.
7200#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7201#[serde(rename_all = "camelCase", default)]
7202pub struct TimeSchedule {
7203    /// The unique identifier of the entity.
7204    pub id: Option<String>,
7205    /// The time at which the entity was created.
7206    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7207    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7208    /// been updated after creation.
7209    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7210    /// The time at which the entity was archived. Null if the entity has not been archived.
7211    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7212    /// The name of the schedule.
7213    pub name: Option<String>,
7214    /// The schedule entries.
7215    pub entries: Option<Box<Vec<TimeScheduleEntry>>>,
7216    /// The identifier of the external schedule.
7217    pub external_id: Option<String>,
7218    /// The URL to the external schedule.
7219    pub external_url: Option<String>,
7220    /// The organization of the schedule.
7221    pub organization: Option<Box<Organization>>,
7222    /// The identifier of the Linear integration populating the schedule.
7223    pub integration: Option<Box<Integration>>,
7224}
7225#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7226#[serde(rename_all = "camelCase", default)]
7227pub struct TimeScheduleConnection {
7228    pub edges: Option<Box<Vec<TimeScheduleEdge>>>,
7229    pub nodes: Option<Box<Vec<TimeSchedule>>>,
7230    pub page_info: Option<Box<PageInfo>>,
7231}
7232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7233#[serde(rename_all = "camelCase", default)]
7234pub struct TimeScheduleEdge {
7235    pub node: Option<Box<TimeSchedule>>,
7236    /// Used in `before` and `after` args
7237    pub cursor: Option<String>,
7238}
7239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7240#[serde(rename_all = "camelCase", default)]
7241pub struct TimeScheduleEntry {
7242    /// The start date of the schedule in ISO 8601 date-time format.
7243    pub starts_at: Option<chrono::DateTime<chrono::Utc>>,
7244    /// The end date of the schedule in ISO 8601 date-time format.
7245    pub ends_at: Option<chrono::DateTime<chrono::Utc>>,
7246    /// The Linear user id of the user on schedule. If the user cannot be mapped to a Linear user then `userEmail` can be used as a reference.
7247    pub user_id: Option<String>,
7248    /// The email, name or reference to the user on schedule. This is used in case the external user could not be mapped to a Linear user id.
7249    pub user_email: Option<String>,
7250}
7251#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7252#[serde(rename_all = "camelCase", default)]
7253pub struct TimeSchedulePayload {
7254    /// The identifier of the last sync operation.
7255    pub last_sync_id: Option<f64>,
7256    pub time_schedule: Option<Box<TimeSchedule>>,
7257    /// Whether the operation was successful.
7258    pub success: Option<bool>,
7259}
7260/// A team's triage responsibility.
7261#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7262#[serde(rename_all = "camelCase", default)]
7263pub struct TriageResponsibility {
7264    /// The unique identifier of the entity.
7265    pub id: Option<String>,
7266    /// The time at which the entity was created.
7267    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7268    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7269    /// been updated after creation.
7270    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7271    /// The time at which the entity was archived. Null if the entity has not been archived.
7272    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7273    /// The action to take when an issue is added to triage.
7274    pub action: Option<TriageResponsibilityAction>,
7275    /// Set of users used for triage responsibility.
7276    pub manual_selection: Option<Box<TriageResponsibilityManualSelection>>,
7277    /// The team to which the triage responsibility belongs to.
7278    pub team: Option<Box<Team>>,
7279    /// The time schedule used for scheduling.
7280    pub time_schedule: Option<Box<TimeSchedule>>,
7281    /// The user currently responsible for triage.
7282    pub current_user: Option<Box<User>>,
7283}
7284#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7285#[serde(rename_all = "camelCase", default)]
7286pub struct TriageResponsibilityConnection {
7287    pub edges: Option<Box<Vec<TriageResponsibilityEdge>>>,
7288    pub nodes: Option<Box<Vec<TriageResponsibility>>>,
7289    pub page_info: Option<Box<PageInfo>>,
7290}
7291#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7292#[serde(rename_all = "camelCase", default)]
7293pub struct TriageResponsibilityEdge {
7294    pub node: Option<Box<TriageResponsibility>>,
7295    /// Used in `before` and `after` args
7296    pub cursor: Option<String>,
7297}
7298#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7299#[serde(rename_all = "camelCase", default)]
7300pub struct TriageResponsibilityManualSelection {
7301    /// The set of users responsible for triage.
7302    pub user_ids: Option<Vec<String>>,
7303    /// `Internal` The index of the current userId used for the assign action when having more than one user.
7304    pub assignment_index: Option<i64>,
7305}
7306#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7307#[serde(rename_all = "camelCase", default)]
7308pub struct TriageResponsibilityPayload {
7309    /// The identifier of the last sync operation.
7310    pub last_sync_id: Option<f64>,
7311    pub triage_responsibility: Option<Box<TriageResponsibility>>,
7312    /// Whether the operation was successful.
7313    pub success: Option<bool>,
7314}
7315/// Object representing Google Cloud upload policy, plus additional data.
7316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7317#[serde(rename_all = "camelCase", default)]
7318pub struct UploadFile {
7319    /// The filename.
7320    pub filename: Option<String>,
7321    /// The content type.
7322    pub content_type: Option<String>,
7323    /// The size of the uploaded file.
7324    pub size: Option<i64>,
7325    /// The signed URL the for the uploaded file. (assigned automatically).
7326    pub upload_url: Option<String>,
7327    /// The asset URL for the uploaded file. (assigned automatically).
7328    pub asset_url: Option<String>,
7329    pub meta_data: Option<serde_json::Value>,
7330    pub headers: Option<Box<Vec<UploadFileHeader>>>,
7331}
7332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7333#[serde(rename_all = "camelCase", default)]
7334pub struct UploadFileHeader {
7335    /// Upload file header key.
7336    pub key: Option<String>,
7337    /// Upload file header value.
7338    pub value: Option<String>,
7339}
7340#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7341#[serde(rename_all = "camelCase", default)]
7342pub struct UploadPayload {
7343    /// The identifier of the last sync operation.
7344    pub last_sync_id: Option<f64>,
7345    /// Object describing the file to be uploaded.
7346    pub upload_file: Option<Box<UploadFile>>,
7347    /// Whether the operation was successful.
7348    pub success: Option<bool>,
7349}
7350/// A user that has access to the the resources of an organization.
7351#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7352#[serde(rename_all = "camelCase", default)]
7353pub struct User {
7354    /// The unique identifier of the entity.
7355    pub id: Option<String>,
7356    /// The time at which the entity was created.
7357    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7358    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7359    /// been updated after creation.
7360    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7361    /// The time at which the entity was archived. Null if the entity has not been archived.
7362    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7363    /// The user's full name.
7364    pub name: Option<String>,
7365    /// The user's display (nick) name. Unique within each organization.
7366    pub display_name: Option<String>,
7367    /// The user's email address.
7368    pub email: Option<String>,
7369    /// An URL to the user's avatar image.
7370    pub avatar_url: Option<String>,
7371    /// Reason why is the account disabled.
7372    pub disable_reason: Option<String>,
7373    /// `DEPRECATED` Hash for the user to be used in calendar URLs.
7374    pub calendar_hash: Option<String>,
7375    /// A short description of the user, either its title or bio.
7376    pub description: Option<String>,
7377    /// The emoji to represent the user current status.
7378    pub status_emoji: Option<String>,
7379    /// The label of the user current status.
7380    pub status_label: Option<String>,
7381    /// A date at which the user current status should be cleared.
7382    pub status_until_at: Option<chrono::DateTime<chrono::Utc>>,
7383    /// The local timezone of the user.
7384    pub timezone: Option<String>,
7385    /// Organization the user belongs to.
7386    pub organization: Option<Box<Organization>>,
7387    /// The last time the user was seen online.
7388    pub last_seen: Option<chrono::DateTime<chrono::Utc>>,
7389    /// `INTERNAL` Identity provider the user is managed by.
7390    pub identity_provider: Option<Box<IdentityProvider>>,
7391    /// The initials of the user.
7392    pub initials: Option<String>,
7393    /// The background color of the avatar for users without set avatar.
7394    pub avatar_background_color: Option<String>,
7395    /// Whether the user is a guest in the workspace and limited to accessing a subset of teams.
7396    pub guest: Option<bool>,
7397    /// Whether the user is an app.
7398    pub app: Option<bool>,
7399    /// Whether the user is mentionable.
7400    pub is_mentionable: Option<bool>,
7401    /// Whether the user is assignable.
7402    pub is_assignable: Option<bool>,
7403    /// Whether the user account is active or disabled (suspended).
7404    pub active: Option<bool>,
7405    /// The user's issue drafts
7406    pub issue_drafts: Option<Box<IssueDraftConnection>>,
7407    /// The user's drafts
7408    pub drafts: Option<Box<DraftConnection>>,
7409    /// User's profile URL.
7410    pub url: Option<String>,
7411    /// Issues assigned to the user.
7412    pub assigned_issues: Option<Box<IssueConnection>>,
7413    /// Issues delegated to this user.
7414    pub delegated_issues: Option<Box<IssueConnection>>,
7415    /// Issues created by the user.
7416    pub created_issues: Option<Box<IssueConnection>>,
7417    /// Number of issues created.
7418    pub created_issue_count: Option<i64>,
7419    /// Teams the user is part of.
7420    pub teams: Option<Box<TeamConnection>>,
7421    /// Memberships associated with the user. For easier access of the same data, use `teams` query.
7422    pub team_memberships: Option<Box<TeamMembershipConnection>>,
7423    /// `INTERNAL` The user's pinned feeds.
7424    pub feed_facets: Option<Box<FacetConnection>>,
7425    /// Whether this user can access any public team in the organization.
7426    pub can_access_any_public_team: Option<bool>,
7427    /// Whether the user is the currently authenticated user.
7428    pub is_me: Option<bool>,
7429    /// Whether the user is an organization administrator.
7430    pub admin: Option<bool>,
7431    /// Whether the user is an organization owner.
7432    pub owner: Option<bool>,
7433    /// Whether this agent user supports agent sessions.
7434    pub supports_agent_sessions: Option<bool>,
7435    /// `DEPRECATED` Unique hash for the user to be used in invite URLs.
7436    pub invite_hash: Option<String>,
7437    /// The user's GitHub user ID.
7438    pub git_hub_user_id: Option<String>,
7439}
7440#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7441#[serde(rename_all = "camelCase", default)]
7442pub struct UserAdminPayload {
7443    /// Whether the operation was successful.
7444    pub success: Option<bool>,
7445}
7446#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7447#[serde(rename_all = "camelCase", default)]
7448pub struct UserConnection {
7449    pub edges: Option<Box<Vec<UserEdge>>>,
7450    pub nodes: Option<Box<Vec<User>>>,
7451    pub page_info: Option<Box<PageInfo>>,
7452}
7453#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7454#[serde(rename_all = "camelCase", default)]
7455pub struct UserEdge {
7456    pub node: Option<Box<User>>,
7457    /// Used in `before` and `after` args
7458    pub cursor: Option<String>,
7459}
7460/// A user notification subscription.
7461#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7462#[serde(rename_all = "camelCase", default)]
7463pub struct UserNotificationSubscription {
7464    /// The unique identifier of the entity.
7465    pub id: Option<String>,
7466    /// The time at which the entity was created.
7467    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7468    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7469    /// been updated after creation.
7470    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7471    /// The time at which the entity was archived. Null if the entity has not been archived.
7472    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7473    /// The user that subscribed to receive notifications.
7474    pub subscriber: Option<Box<User>>,
7475    /// The customer associated with the notification subscription.
7476    pub customer: Option<Box<Customer>>,
7477    /// The contextual custom view associated with the notification subscription.
7478    pub custom_view: Option<Box<CustomView>>,
7479    /// The contextual cycle view associated with the notification subscription.
7480    pub cycle: Option<Box<Cycle>>,
7481    /// The contextual label view associated with the notification subscription.
7482    pub label: Option<Box<IssueLabel>>,
7483    /// The contextual project view associated with the notification subscription.
7484    pub project: Option<Box<Project>>,
7485    /// The contextual initiative view associated with the notification subscription.
7486    pub initiative: Option<Box<Initiative>>,
7487    /// The team associated with the notification subscription.
7488    pub team: Option<Box<Team>>,
7489    /// The user subscribed to.
7490    pub user: Option<Box<User>>,
7491    /// The type of view to which the notification subscription context is associated with.
7492    pub context_view_type: Option<ContextViewType>,
7493    /// The type of user view to which the notification subscription context is associated with.
7494    pub user_context_view_type: Option<UserContextViewType>,
7495    /// Whether the subscription is active or not.
7496    pub active: Option<bool>,
7497    /// The type of subscription.
7498    pub notification_subscription_types: Option<Vec<String>>,
7499}
7500#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7501#[serde(rename_all = "camelCase", default)]
7502pub struct UserPayload {
7503    /// The identifier of the last sync operation.
7504    pub last_sync_id: Option<f64>,
7505    /// The user that was created or updated.
7506    pub user: Option<Box<User>>,
7507    /// Whether the operation was successful.
7508    pub success: Option<bool>,
7509}
7510/// The settings of a user as a JSON object.
7511#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7512#[serde(rename_all = "camelCase", default)]
7513pub struct UserSettings {
7514    /// The unique identifier of the entity.
7515    pub id: Option<String>,
7516    /// The time at which the entity was created.
7517    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7518    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7519    /// been updated after creation.
7520    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7521    /// The time at which the entity was archived. Null if the entity has not been archived.
7522    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7523    /// The notification delivery preferences for the user. Note: notificationDisabled field is deprecated in favor of notificationChannelPreferences.
7524    pub notification_delivery_preferences: Option<Box<NotificationDeliveryPreferences>>,
7525    /// The email types the user has unsubscribed from.
7526    pub unsubscribed_from: Option<Vec<String>>,
7527    /// The user associated with these settings.
7528    pub user: Option<Box<User>>,
7529    /// Hash for the user to be used in calendar URLs.
7530    pub calendar_hash: Option<String>,
7531    /// Whether this user is subscribed to changelog email or not.
7532    pub subscribed_to_changelog: Option<bool>,
7533    /// Whether this user is subscribed to DPA emails or not.
7534    pub subscribed_to_dpa: Option<bool>,
7535    /// Whether this user is subscribed to invite accepted emails or not.
7536    pub subscribed_to_invite_accepted: Option<bool>,
7537    /// Whether this user is subscribed to privacy and legal update emails or not.
7538    pub subscribed_to_privacy_legal_updates: Option<bool>,
7539    /// The user's feed summary schedule preference.
7540    pub feed_summary_schedule: Option<FeedSummarySchedule>,
7541    /// Whether to show full user names instead of display names.
7542    pub show_full_user_names: Option<bool>,
7543    /// The user's last seen time for the pulse feed.
7544    pub feed_last_seen_time: Option<chrono::DateTime<chrono::Utc>>,
7545    /// Whether to auto-assign newly created issues to the current user by default.
7546    pub auto_assign_to_self: Option<bool>,
7547    /// The user's notification category preferences.
7548    pub notification_category_preferences: Option<Box<NotificationCategoryPreferences>>,
7549    /// The user's notification channel preferences.
7550    pub notification_channel_preferences: Option<Box<NotificationChannelPreferences>>,
7551    /// The user's theme for a given mode and device type.
7552    pub theme: Option<Box<UserSettingsTheme>>,
7553}
7554#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7555#[serde(rename_all = "camelCase", default)]
7556pub struct UserSettingsCustomSidebarTheme {
7557    /// The accent color in LCH format.
7558    pub accent: Option<Vec<f64>>,
7559    /// The base color in LCH format.
7560    pub base: Option<Vec<f64>>,
7561    /// The contrast value.
7562    pub contrast: Option<i64>,
7563}
7564#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7565#[serde(rename_all = "camelCase", default)]
7566pub struct UserSettingsCustomTheme {
7567    /// The accent color in LCH format.
7568    pub accent: Option<Vec<f64>>,
7569    /// The base color in LCH format.
7570    pub base: Option<Vec<f64>>,
7571    /// The contrast value.
7572    pub contrast: Option<i64>,
7573    /// Optional sidebar theme colors.
7574    pub sidebar: Option<Box<UserSettingsCustomSidebarTheme>>,
7575}
7576#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7577#[serde(rename_all = "camelCase", default)]
7578pub struct UserSettingsFlagPayload {
7579    /// The identifier of the last sync operation.
7580    pub last_sync_id: Option<f64>,
7581    /// The flag key which was updated.
7582    pub flag: Option<String>,
7583    /// The flag value after update.
7584    pub value: Option<i64>,
7585    /// Whether the operation was successful.
7586    pub success: Option<bool>,
7587}
7588#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7589#[serde(rename_all = "camelCase", default)]
7590pub struct UserSettingsFlagsResetPayload {
7591    /// The identifier of the last sync operation.
7592    pub last_sync_id: Option<f64>,
7593    /// Whether the operation was successful.
7594    pub success: Option<bool>,
7595}
7596#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7597#[serde(rename_all = "camelCase", default)]
7598pub struct UserSettingsPayload {
7599    /// The identifier of the last sync operation.
7600    pub last_sync_id: Option<f64>,
7601    /// The user's settings.
7602    pub user_settings: Option<Box<UserSettings>>,
7603    /// Whether the operation was successful.
7604    pub success: Option<bool>,
7605}
7606#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7607#[serde(rename_all = "camelCase", default)]
7608pub struct UserSettingsTheme {
7609    /// The theme preset.
7610    pub preset: Option<UserSettingsThemePreset>,
7611    /// The custom theme definition, only present when preset is 'custom'.
7612    pub custom: Option<Box<UserSettingsCustomTheme>>,
7613}
7614/// View preferences.
7615#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7616#[serde(rename_all = "camelCase", default)]
7617pub struct ViewPreferences {
7618    /// The unique identifier of the entity.
7619    pub id: Option<String>,
7620    /// The time at which the entity was created.
7621    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7622    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7623    /// been updated after creation.
7624    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7625    /// The time at which the entity was archived. Null if the entity has not been archived.
7626    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7627    /// The view preference type.
7628    pub r#type: Option<String>,
7629    /// The view type.
7630    pub view_type: Option<String>,
7631    /// The view preferences
7632    pub preferences: Option<Box<ViewPreferencesValues>>,
7633}
7634#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7635#[serde(rename_all = "camelCase", default)]
7636pub struct ViewPreferencesPayload {
7637    /// The identifier of the last sync operation.
7638    pub last_sync_id: Option<f64>,
7639    /// The view preferences entity being mutated.
7640    pub view_preferences: Option<Box<ViewPreferences>>,
7641    /// Whether the operation was successful.
7642    pub success: Option<bool>,
7643}
7644#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7645#[serde(rename_all = "camelCase", default)]
7646pub struct ViewPreferencesValues {
7647    /// The issue ordering.
7648    pub view_ordering: Option<String>,
7649    /// The issue grouping.
7650    pub issue_grouping: Option<String>,
7651    /// The issue sub grouping.
7652    pub issue_sub_grouping: Option<String>,
7653    /// Whether to show completed issues.
7654    pub show_completed_issues: Option<String>,
7655}
7656/// A webhook used to send HTTP notifications over data updates.
7657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7658#[serde(rename_all = "camelCase", default)]
7659pub struct Webhook {
7660    /// The unique identifier of the entity.
7661    pub id: Option<String>,
7662    /// The time at which the entity was created.
7663    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7664    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7665    /// been updated after creation.
7666    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7667    /// The time at which the entity was archived. Null if the entity has not been archived.
7668    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7669    /// Webhook label.
7670    pub label: Option<String>,
7671    /// Webhook URL.
7672    pub url: Option<String>,
7673    /// Whether the Webhook is enabled.
7674    pub enabled: Option<bool>,
7675    /// The team that the webhook is associated with. If null, the webhook is associated with all public teams of the organization or multiple teams.
7676    pub team: Option<Box<Team>>,
7677    /// `INTERNAL` The teams that the webhook is associated with. Used to represent a webhook that targets multiple teams, potentially in addition to all public teams of the organization.
7678    pub team_ids: Option<Vec<String>>,
7679    /// Whether the Webhook is enabled for all public teams, including teams created after the webhook was created.
7680    pub all_public_teams: Option<bool>,
7681    /// The user who created the webhook.
7682    pub creator: Option<Box<User>>,
7683    /// Secret token for verifying the origin on the recipient side.
7684    pub secret: Option<String>,
7685    /// The resource types this webhook is subscribed to.
7686    pub resource_types: Option<Vec<String>>,
7687    /// `INTERNAL` Webhook failure events associated with the webhook (last 50).
7688    pub failures: Option<Box<Vec<WebhookFailureEvent>>>,
7689}
7690#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7691#[serde(rename_all = "camelCase", default)]
7692pub struct WebhookConnection {
7693    pub edges: Option<Box<Vec<WebhookEdge>>>,
7694    pub nodes: Option<Box<Vec<Webhook>>>,
7695    pub page_info: Option<Box<PageInfo>>,
7696}
7697#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7698#[serde(rename_all = "camelCase", default)]
7699pub struct WebhookEdge {
7700    pub node: Option<Box<Webhook>>,
7701    /// Used in `before` and `after` args
7702    pub cursor: Option<String>,
7703}
7704/// Entity representing a webhook execution failure.
7705#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7706#[serde(rename_all = "camelCase", default)]
7707pub struct WebhookFailureEvent {
7708    /// The unique identifier of the entity.
7709    pub id: Option<String>,
7710    /// The time at which the entity was created.
7711    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7712    /// The webhook that this failure event is associated with.
7713    pub webhook: Option<Box<Webhook>>,
7714    /// The URL that the webhook was trying to push to.
7715    pub url: Option<String>,
7716    /// The HTTP status code returned by the recipient.
7717    pub http_status: Option<f64>,
7718    /// The HTTP response body returned by the recipient or error occured.
7719    pub response_or_error: Option<String>,
7720    /// The unique execution ID of the webhook push. This is retained between retries of the same push.
7721    pub execution_id: Option<String>,
7722}
7723#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7724#[serde(rename_all = "camelCase", default)]
7725pub struct WebhookPayload {
7726    /// The identifier of the last sync operation.
7727    pub last_sync_id: Option<f64>,
7728    /// The webhook entity being mutated.
7729    pub webhook: Option<Box<Webhook>>,
7730    /// Whether the operation was successful.
7731    pub success: Option<bool>,
7732}
7733#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7734#[serde(rename_all = "camelCase", default)]
7735pub struct WebhookRotateSecretPayload {
7736    /// The identifier of the last sync operation.
7737    pub last_sync_id: Option<f64>,
7738    /// Whether the operation was successful.
7739    pub success: Option<bool>,
7740    /// The new webhook signing secret.
7741    pub secret: Option<String>,
7742}
7743/// A welcome message for new users joining the workspace.
7744#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7745#[serde(rename_all = "camelCase", default)]
7746pub struct WelcomeMessage {
7747    /// The unique identifier of the entity.
7748    pub id: Option<String>,
7749    /// The time at which the entity was created.
7750    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7751    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7752    /// been updated after creation.
7753    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7754    /// The time at which the entity was archived. Null if the entity has not been archived.
7755    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7756    /// The title of the welcome message notification.
7757    pub title: Option<String>,
7758    /// Whether the welcome message is enabled.
7759    pub enabled: Option<bool>,
7760    /// The user who last updated the welcome message.
7761    pub updated_by: Option<Box<User>>,
7762}
7763/// A welcome message related notification.
7764#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7765#[serde(rename_all = "camelCase", default)]
7766pub struct WelcomeMessageNotification {
7767    /// The unique identifier of the entity.
7768    pub id: Option<String>,
7769    /// The time at which the entity was created.
7770    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7771    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7772    /// been updated after creation.
7773    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7774    /// The time at which the entity was archived. Null if the entity has not been archived.
7775    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7776    /// Notification type.
7777    pub r#type: Option<String>,
7778    /// The user that caused the notification.
7779    pub actor: Option<Box<User>>,
7780    /// The external user that caused the notification.
7781    pub external_user_actor: Option<Box<ExternalUser>>,
7782    /// The user that received the notification.
7783    pub user: Option<Box<User>>,
7784    /// The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
7785    pub read_at: Option<chrono::DateTime<chrono::Utc>>,
7786    /// The time at when an email reminder for this notification was sent to the user. Null, if no email
7787    /// reminder has been sent.
7788    pub emailed_at: Option<chrono::DateTime<chrono::Utc>>,
7789    /// The time until a notification will be snoozed. After that it will appear in the inbox again.
7790    pub snoozed_until_at: Option<chrono::DateTime<chrono::Utc>>,
7791    /// The time at which a notification was unsnoozed..
7792    pub unsnoozed_at: Option<chrono::DateTime<chrono::Utc>>,
7793    /// The category of the notification.
7794    pub category: Option<NotificationCategory>,
7795    /// `Internal` URL to the target of the notification.
7796    pub url: Option<String>,
7797    /// `Internal` Inbox URL for the notification.
7798    pub inbox_url: Option<String>,
7799    /// `Internal` Notification title.
7800    pub title: Option<String>,
7801    /// `Internal` Notification subtitle.
7802    pub subtitle: Option<String>,
7803    /// `Internal` If notification actor was Linear.
7804    pub is_linear_actor: Option<bool>,
7805    /// `Internal` Notification avatar URL.
7806    pub actor_avatar_url: Option<String>,
7807    /// `Internal` Notification actor initials if avatar is not available.
7808    pub actor_initials: Option<String>,
7809    /// `Internal` Notification actor initials if avatar is not available.
7810    pub actor_avatar_color: Option<String>,
7811    /// `Internal` Issue's status type for issue notifications.
7812    pub issue_status_type: Option<String>,
7813    /// `Internal` Project update health for new updates.
7814    pub project_update_health: Option<String>,
7815    /// `Internal` Initiative update health for new updates.
7816    pub initiative_update_health: Option<String>,
7817    /// `Internal` Notifications with the same grouping key will be grouped together in the UI.
7818    pub grouping_key: Option<String>,
7819    /// `Internal` Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`.
7820    pub grouping_priority: Option<f64>,
7821    /// The bot that caused the notification.
7822    pub bot_actor: Option<Box<ActorBot>>,
7823    /// Related welcome message.
7824    pub welcome_message_id: Option<String>,
7825}
7826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7827#[serde(rename_all = "camelCase", default)]
7828pub struct WorkflowDefinition {
7829    /// The unique identifier of the entity.
7830    pub id: Option<String>,
7831    /// The time at which the entity was created.
7832    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7833    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7834    /// been updated after creation.
7835    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7836    /// The time at which the entity was archived. Null if the entity has not been archived.
7837    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7838    /// The name of the workflow.
7839    pub name: Option<String>,
7840    /// The name of the group that the workflow belongs to.
7841    pub group_name: Option<String>,
7842    /// The description of the workflow.
7843    pub description: Option<String>,
7844    /// The type of the workflow.
7845    pub r#type: Option<WorkflowType>,
7846    /// The type of the event that triggers off the workflow.
7847    pub trigger: Option<WorkflowTrigger>,
7848    /// The object type (e.g. Issue) that triggers this workflow.
7849    pub trigger_type: Option<WorkflowTriggerType>,
7850    /// The conditions that need to be match for the workflow to be triggered.
7851    pub conditions: Option<serde_json::Value>,
7852    pub enabled: Option<bool>,
7853    /// The team associated with the workflow. If not set, the workflow is associated with the entire organization.
7854    pub team: Option<Box<Team>>,
7855    /// The user who created the workflow.
7856    pub creator: Option<Box<User>>,
7857    /// An array of activities that will be executed as part of the workflow.
7858    pub activities: Option<serde_json::Value>,
7859    /// The sort order of the workflow definition within its siblings.
7860    pub sort_order: Option<String>,
7861    /// The date when the workflow was last executed.
7862    pub last_executed_at: Option<chrono::DateTime<chrono::Utc>>,
7863    /// The user who last updated the workflow.
7864    pub last_updated_by: Option<Box<User>>,
7865    /// The contextual label view associated with the workflow.
7866    pub label: Option<Box<IssueLabel>>,
7867    /// The contextual cycle view associated with the workflow.
7868    pub cycle: Option<Box<Cycle>>,
7869    /// The contextual user view associated with the workflow.
7870    pub user: Option<Box<User>>,
7871    /// The contextual project view associated with the workflow.
7872    pub project: Option<Box<Project>>,
7873    /// The contextual initiative view associated with the workflow.
7874    pub initiative: Option<Box<Initiative>>,
7875    /// The context custom view associated with the workflow.
7876    pub custom_view: Option<Box<CustomView>>,
7877    /// The type of view to which this workflow's context is associated with.
7878    pub context_view_type: Option<ContextViewType>,
7879    /// The type of user view to which this workflow's context is associated with.
7880    pub user_context_view_type: Option<UserContextViewType>,
7881}
7882/// A state in a team workflow.
7883#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7884#[serde(rename_all = "camelCase", default)]
7885pub struct WorkflowState {
7886    /// The unique identifier of the entity.
7887    pub id: Option<String>,
7888    /// The time at which the entity was created.
7889    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
7890    /// The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't
7891    /// been updated after creation.
7892    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
7893    /// The time at which the entity was archived. Null if the entity has not been archived.
7894    pub archived_at: Option<chrono::DateTime<chrono::Utc>>,
7895    /// The state's name.
7896    pub name: Option<String>,
7897    /// The state's UI color as a HEX string.
7898    pub color: Option<String>,
7899    /// Description of the state.
7900    pub description: Option<String>,
7901    /// The position of the state in the team flow.
7902    pub position: Option<f64>,
7903    /// The type of the state. One of "triage", "backlog", "unstarted", "started", "completed", "canceled".
7904    pub r#type: Option<String>,
7905    /// The team to which this state belongs to.
7906    pub team: Option<Box<Team>>,
7907    /// The state inherited from
7908    pub inherited_from: Option<Box<WorkflowState>>,
7909    /// Issues belonging in this state.
7910    pub issues: Option<Box<IssueConnection>>,
7911}
7912/// A generic payload return from entity archive mutations.
7913#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7914#[serde(rename_all = "camelCase", default)]
7915pub struct WorkflowStateArchivePayload {
7916    /// The identifier of the last sync operation.
7917    pub last_sync_id: Option<f64>,
7918    /// Whether the operation was successful.
7919    pub success: Option<bool>,
7920    /// The archived/unarchived entity. Null if entity was deleted.
7921    pub entity: Option<Box<WorkflowState>>,
7922}
7923#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7924#[serde(rename_all = "camelCase", default)]
7925pub struct WorkflowStateConnection {
7926    pub edges: Option<Box<Vec<WorkflowStateEdge>>>,
7927    pub nodes: Option<Box<Vec<WorkflowState>>>,
7928    pub page_info: Option<Box<PageInfo>>,
7929}
7930#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7931#[serde(rename_all = "camelCase", default)]
7932pub struct WorkflowStateEdge {
7933    pub node: Option<Box<WorkflowState>>,
7934    /// Used in `before` and `after` args
7935    pub cursor: Option<String>,
7936}
7937#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7938#[serde(rename_all = "camelCase", default)]
7939pub struct WorkflowStatePayload {
7940    /// The identifier of the last sync operation.
7941    pub last_sync_id: Option<f64>,
7942    /// The state that was created or updated.
7943    pub workflow_state: Option<Box<WorkflowState>>,
7944    /// Whether the operation was successful.
7945    pub success: Option<bool>,
7946}