@lovable.dev/sdk 1.7.0 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -56,7 +56,7 @@ export interface paths {
56
56
  /**
57
57
  * Query workspace audit logs
58
58
  * @deprecated
59
- * @description Deprecated compatibility alias. Prefer GET /v1beta/workspaces/{workspace_id}/audit-logs.
59
+ * @description Deprecated compatibility alias. Pass workspace_id as a query parameter.
60
60
  */
61
61
  get: operations["get-v1-audit-logs"];
62
62
  put?: never;
@@ -1167,6 +1167,26 @@ export interface paths {
1167
1167
  patch?: never;
1168
1168
  trace?: never;
1169
1169
  };
1170
+ "/v1/remix-jobs/{job_id}": {
1171
+ parameters: {
1172
+ query?: never;
1173
+ header?: never;
1174
+ path?: never;
1175
+ cookie?: never;
1176
+ };
1177
+ /**
1178
+ * Get remix job
1179
+ * @description Returns the status of an async remix started with POST /v1/projects, keyed by the job_id it returned. Poll until status is completed (result.project_id is set) or error (error_message explains the failure). Poll no more than once every 2 seconds and honor Retry-After on 429 responses. Jobs remain queryable while Temporal retains the workflow history; after retention expires this route returns 404. Reusing the same job_id is idempotent and returns the same terminal result.
1180
+ */
1181
+ get: operations["get-v1-remix-jobs-job_id"];
1182
+ put?: never;
1183
+ post?: never;
1184
+ delete?: never;
1185
+ options?: never;
1186
+ head?: never;
1187
+ patch?: never;
1188
+ trace?: never;
1189
+ };
1170
1190
  "/v1/security-scans": {
1171
1191
  parameters: {
1172
1192
  query?: never;
@@ -1805,6 +1825,26 @@ export interface paths {
1805
1825
  patch?: never;
1806
1826
  trace?: never;
1807
1827
  };
1828
+ "/v1/workspaces/{workspace_id}/groups": {
1829
+ parameters: {
1830
+ query?: never;
1831
+ header?: never;
1832
+ path?: never;
1833
+ cookie?: never;
1834
+ };
1835
+ /**
1836
+ * List workspace groups
1837
+ * @description Returns the workspace's groups, sorted by name. Use a group's id as the target id of a type "group" audience entry when publishing a project with visibility "custom" via POST or PATCH /v1/projects/{project_id}/publish.
1838
+ */
1839
+ get: operations["get-v1-workspaces-workspace_id-groups"];
1840
+ put?: never;
1841
+ post?: never;
1842
+ delete?: never;
1843
+ options?: never;
1844
+ head?: never;
1845
+ patch?: never;
1846
+ trace?: never;
1847
+ };
1808
1848
  "/v1/workspaces/{workspace_id}/knowledge": {
1809
1849
  parameters: {
1810
1850
  query?: never;
@@ -1998,94 +2038,6 @@ export interface paths {
1998
2038
  patch?: never;
1999
2039
  trace?: never;
2000
2040
  };
2001
- "/v1beta/projects/{project_id}/cloud": {
2002
- parameters: {
2003
- query?: never;
2004
- header?: never;
2005
- path?: never;
2006
- cookie?: never;
2007
- };
2008
- /**
2009
- * Get project cloud telemetry (Preview)
2010
- * @description Returns cloud telemetry for a project's database, matching the editor's Cloud settings panel: disk-space usage, compute instance tier, lifecycle status and pause state, region, Postgres version, and resource-pressure alerts. Values are platform measurements cached for up to a few minutes; disk.timestamp reports when the platform measured it. Individual fields are omitted while their lookup is temporarily unavailable.
2011
- *
2012
- * This operation is in public preview (beta) and served under `/v1beta`. Request and response shapes may change before it graduates to the stable `/v1` surface.
2013
- */
2014
- get: operations["get-v1beta-projects-project_id-cloud"];
2015
- put?: never;
2016
- post?: never;
2017
- delete?: never;
2018
- options?: never;
2019
- head?: never;
2020
- patch?: never;
2021
- trace?: never;
2022
- };
2023
- "/v1beta/workspaces/{workspace_id}/audit-logs": {
2024
- parameters: {
2025
- query?: never;
2026
- header?: never;
2027
- path?: never;
2028
- cookie?: never;
2029
- };
2030
- /**
2031
- * Query workspace audit logs (Preview)
2032
- * @description Returns workspace audit log entries newest first (event timestamp descending, event ID as the cursor tie-breaker), paginated via an opaque cursor. Pagination and total-count behavior may change before this operation graduates to the stable surface.
2033
- *
2034
- * This operation is in public preview (beta) and served under `/v1beta`. Request and response shapes may change before it graduates to the stable `/v1` surface.
2035
- */
2036
- get: operations["get-v1beta-workspaces-workspace_id-audit-logs"];
2037
- put?: never;
2038
- post?: never;
2039
- delete?: never;
2040
- options?: never;
2041
- head?: never;
2042
- patch?: never;
2043
- trace?: never;
2044
- };
2045
- "/v1beta/workspaces/{workspace_id}/message-exports": {
2046
- parameters: {
2047
- query?: never;
2048
- header?: never;
2049
- path?: never;
2050
- cookie?: never;
2051
- };
2052
- get?: never;
2053
- put?: never;
2054
- /**
2055
- * Export workspace messages (Preview)
2056
- * @description Allows workspace admins and owners to start a one-off export of user-authored messages from the current main chat history of projects visible to them. Project and user filters may be combined; when both are supplied, only messages matching both are exported. The export defaults to the preceding 90 days and is delivered as a ZIP containing JSONL. Poll the returned export ID; completed files expire after seven days. Filter options and delivery metadata may change before graduation.
2057
- *
2058
- * This operation is in public preview (beta) and served under `/v1beta`. Request and response shapes may change before it graduates to the stable `/v1` surface.
2059
- */
2060
- post: operations["post-v1beta-workspaces-workspace_id-message-exports"];
2061
- delete?: never;
2062
- options?: never;
2063
- head?: never;
2064
- patch?: never;
2065
- trace?: never;
2066
- };
2067
- "/v1beta/workspaces/{workspace_id}/message-exports/{export_id}": {
2068
- parameters: {
2069
- query?: never;
2070
- header?: never;
2071
- path?: never;
2072
- cookie?: never;
2073
- };
2074
- /**
2075
- * Get message export (Preview)
2076
- * @description Returns an admin or owner's export status and a one-hour signed download URL when the export is complete and unexpired. Status and download metadata may change before graduation.
2077
- *
2078
- * This operation is in public preview (beta) and served under `/v1beta`. Request and response shapes may change before it graduates to the stable `/v1` surface.
2079
- */
2080
- get: operations["get-v1beta-workspaces-workspace_id-message-exports-export_id"];
2081
- put?: never;
2082
- post?: never;
2083
- delete?: never;
2084
- options?: never;
2085
- head?: never;
2086
- patch?: never;
2087
- trace?: never;
2088
- };
2089
2041
  }
2090
2042
  export type webhooks = Record<string, never>;
2091
2043
  export interface components {
@@ -2107,7 +2059,7 @@ export interface components {
2107
2059
  creator: components["schemas"]["Creator"];
2108
2060
  display_name: string;
2109
2061
  documentation_url: string;
2110
- /** @description True when at least one client exists for this connector in the workspace */
2062
+ /** @description True when at least one client or provisioned app exists for this connector in the workspace */
2111
2063
  has_clients: boolean;
2112
2064
  id: string;
2113
2065
  is_enabled_for_workspace: boolean;
@@ -2214,6 +2166,12 @@ export interface components {
2214
2166
  /** @description Pagination cursors for fetching adjacent pages. */
2215
2167
  pagination: components["schemas"]["Pagination"];
2216
2168
  };
2169
+ CursorListResponseV1WorkspaceGroup: {
2170
+ /** @description Items in this page. */
2171
+ data: components["schemas"]["V1WorkspaceGroup"][] | null;
2172
+ /** @description Pagination cursors for fetching adjacent pages. */
2173
+ pagination: components["schemas"]["Pagination"];
2174
+ };
2217
2175
  CursorListResponseV1WorkspaceMember: {
2218
2176
  /** @description Items in this page. */
2219
2177
  data: components["schemas"]["V1WorkspaceMember"][] | null;
@@ -2442,7 +2400,7 @@ export interface components {
2442
2400
  next_cursor: string | null;
2443
2401
  };
2444
2402
  ProjectAnalyticsResponse: {
2445
- /** @description Sessions attributed to their first eligible page view within the requested window. Includes search_ai as the union of search and ai; do not sum it with those channels. */
2403
+ /** @description Sessions attributed to their first eligible page view within the requested window. Includes search_ai as the union of search and ai; do not sum it with those channels. Missing channel keys mean unavailable, not zero traffic. */
2446
2404
  channels?: {
2447
2405
  [key: string]: components["schemas"]["ChannelAnalytics"];
2448
2406
  };
@@ -2866,8 +2824,10 @@ export interface components {
2866
2824
  * @example true
2867
2825
  */
2868
2826
  include_custom_knowledge?: boolean;
2827
+ /** @description Copy project Files. Defaults to false. Requires edit access to the original project; view-only access or a public remix link is not enough. Omitted or false skips Files; true returns 403 without edit access. */
2828
+ include_files?: boolean;
2869
2829
  /**
2870
- * @description Whether remix-style creation should include chat history
2830
+ * @description Copy chat history. Defaults to false. Requires edit access to the original project; view-only access or a public remix link is not enough.
2871
2831
  * @example true
2872
2832
  */
2873
2833
  include_history?: boolean;
@@ -2955,6 +2915,18 @@ export interface components {
2955
2915
  /** @description Published project URL. Set once status is completed. */
2956
2916
  url?: string;
2957
2917
  };
2918
+ PublicV1RemixJobOutputBody: {
2919
+ /** @description Machine-readable failure cause, present only for recognized failures */
2920
+ error_code?: string;
2921
+ /** @description Safe failure summary when the remix job fails */
2922
+ error_message?: string;
2923
+ /** @description Remix result, present when completed */
2924
+ result?: components["schemas"]["V1RemixProgressResult"];
2925
+ /** @description Job status: preparing, running, completed, or error. More values may be added; clients must tolerate unknown values. */
2926
+ status: string;
2927
+ /** @description Current step details when available */
2928
+ step?: components["schemas"]["RemixJobStepInfo"];
2929
+ };
2958
2930
  PublicV1SendMessageInputBody: {
2959
2931
  /**
2960
2932
  * @description Continuation override: force (skip cache TTL and token checks), fresh_build (force prompt rebuild), or allow_expired_cache (skip cache TTL only)
@@ -3170,6 +3142,8 @@ export interface components {
3170
3142
  app_visitors_7d?: number;
3171
3143
  category?: string;
3172
3144
  /** Format: date-time */
3145
+ commit_time?: string;
3146
+ /** Format: date-time */
3173
3147
  created_at?: string;
3174
3148
  created_by?: string;
3175
3149
  /** Format: date-time */
@@ -3262,14 +3236,14 @@ export interface components {
3262
3236
  documentation_url: string;
3263
3237
  /** @description True when at least one connection exists for this connector in the workspace */
3264
3238
  has_connections: boolean;
3265
- /** @description True when at least one of this connector's available auth methods would meter a new connection against the workspace's credits */
3266
- has_metered_option?: boolean;
3267
3239
  id: string;
3268
3240
  is_enabled_for_workspace: boolean;
3269
3241
  /** @description True when the connector is gated behind a feature flag rollout */
3270
3242
  is_new?: boolean;
3271
3243
  /** @description Optional HTTPS logo URL */
3272
3244
  logo_url?: string;
3245
+ /** @description Provider pricing page; set for metered connectors */
3246
+ pricing_url?: string;
3273
3247
  promotion?: components["schemas"]["StandardConnectorPromotion"];
3274
3248
  /** @description Search keywords (empty array when none) */
3275
3249
  searchTags: string[];
@@ -3280,6 +3254,8 @@ export interface components {
3280
3254
  * @enum {string}
3281
3255
  */
3282
3256
  source?: "native" | "user_defined";
3257
+ /** @description True when the connector receives provider webhooks and delivers them to the connection's inbound project */
3258
+ supports_inbound?: boolean;
3283
3259
  terms_url?: string;
3284
3260
  /**
3285
3261
  * @description Product vendor for catalog filtering
@@ -3392,6 +3368,8 @@ export interface components {
3392
3368
  cost_credits?: number;
3393
3369
  /** @description Associated edit ID */
3394
3370
  edit_id?: string;
3371
+ /** @description Why the turn failed, only present when status is error */
3372
+ error?: components["schemas"]["V1MessageError"];
3395
3373
  /** @description AI response message ID */
3396
3374
  message_id: string;
3397
3375
  /** @description AI response status (awaiting_input, completed, stopped, error) */
@@ -3423,6 +3401,8 @@ export interface components {
3423
3401
  token?: string;
3424
3402
  /** @description MCP server URL (required for direct and network_transport connections; optional only for legacy relay fields) */
3425
3403
  url?: string;
3404
+ /** @description Route all traffic to this custom MCP server through Lovable's published static egress IP ranges */
3405
+ use_egress_proxy?: boolean;
3426
3406
  };
3427
3407
  V1AvailableConnectorEntry: {
3428
3408
  /** @description Category (e.g. Development, Design) */
@@ -3547,12 +3527,12 @@ export interface components {
3547
3527
  /** @description Database server/storage breakdown. Interval buckets only. */
3548
3528
  database_breakdown?: components["schemas"]["V1WorkspaceUsageDatabaseBreakdown"][] | null;
3549
3529
  /**
3550
- * @description Member display name. Present on member-attributed rows (group_by=member, or a query filtered to one user_id) when the caller also holds the members:read scope.
3530
+ * @description Member display name. Present on member-attributed rows (group_by=member, or a query filtered to one user_id).
3551
3531
  * @example Jane Cooper
3552
3532
  */
3553
3533
  display_name?: string;
3554
3534
  /**
3555
- * @description Member email as stored on the workspace membership (not the user's primary/personal email). Present on member-attributed rows when the caller also holds the members:read scope.
3535
+ * @description Member email as stored on the workspace membership (not the user's primary/personal email). Present on member-attributed rows.
3556
3536
  * @example jane.cooper@acme.com
3557
3537
  */
3558
3538
  email?: string;
@@ -4133,58 +4113,11 @@ export interface components {
4133
4113
  /** @description Pagination metadata */
4134
4114
  pagination: components["schemas"]["Pagination"];
4135
4115
  };
4136
- V1MessageExportStatus: {
4137
- /**
4138
- * Format: int64
4139
- * @description Compressed archive size in bytes.
4140
- * @example 10485760
4141
- */
4142
- archive_size_bytes?: number;
4143
- /**
4144
- * Format: date-time
4145
- * @description When the export reached a terminal state.
4146
- * @example 2026-01-15T09:32:10Z
4147
- */
4148
- completed_at?: string;
4149
- /**
4150
- * Format: date-time
4151
- * @description When the export was requested.
4152
- * @example 2026-01-15T09:30:00Z
4153
- */
4154
- created_at: string;
4155
- /**
4156
- * @description One-hour signed URL for the ZIP archive, present while a completed export has not expired.
4157
- * @example https://storage.googleapis.com/lovable-message-exports/0195b2c3-6a7d-4f3e-9a1b-2c3d4e5f6a7b.zip?X-Goog-Expires=3600
4158
- */
4159
- download_url?: string;
4160
- /**
4161
- * Format: date-time
4162
- * @description When the completed file is deleted.
4163
- * @example 2026-01-22T09:32:10Z
4164
- */
4165
- expires_at?: string;
4166
- /**
4167
- * @description Export ID.
4168
- * @example 0195b2c3-6a7d-4f3e-9a1b-2c3d4e5f6a7b
4169
- */
4170
- export_id: string;
4171
- /**
4172
- * Format: int64
4173
- * @description Number of messages in a completed export.
4174
- * @example 4821
4175
- */
4176
- message_count?: number;
4177
- /**
4178
- * Format: int64
4179
- * @description Number of projects represented in a completed export.
4180
- * @example 12
4181
- */
4182
- project_count?: number;
4183
- /**
4184
- * @description Current export status.
4185
- * @enum {string}
4186
- */
4187
- status: "running" | "completed" | "failed" | "expired";
4116
+ V1MessageError: {
4117
+ /** @description Stable error code identifying the failure (e.g. PRIMARY_LLM_REQUEST_REJECTED) */
4118
+ code: string;
4119
+ /** @description Sanitized human-readable explanation of the failure */
4120
+ message: string;
4188
4121
  };
4189
4122
  V1MessageListItem: {
4190
4123
  /** @description Message text content */
@@ -4216,6 +4149,8 @@ export interface components {
4216
4149
  created_at: string;
4217
4150
  /** @description Associated edit ID, if any */
4218
4151
  edit_id?: string;
4152
+ /** @description Why the turn failed, only present for assistant messages when status is error */
4153
+ error?: components["schemas"]["V1MessageError"];
4219
4154
  /** @description Message ID */
4220
4155
  message_id: string;
4221
4156
  /** @description Why the queue is paused (user, hitl_tool, out_of_credits, server_error) */
@@ -4240,109 +4175,6 @@ export interface components {
4240
4175
  /** @description Project IDs to move into the folder */
4241
4176
  project_ids: string[] | null;
4242
4177
  };
4243
- V1ProjectCloudBody: {
4244
- /** @description Disk-space telemetry. Omitted while the measurement is temporarily unavailable; retry later. */
4245
- disk?: components["schemas"]["V1ProjectCloudDisk"];
4246
- /**
4247
- * @description Cloud environment these values describe.
4248
- * @example production
4249
- */
4250
- environment: string;
4251
- /**
4252
- * @description Current compute instance tier code.
4253
- * @enum {string}
4254
- */
4255
- instance_tier: "xs" | "s" | "m" | "ml" | "l" | "xl" | "xxl";
4256
- /**
4257
- * @description Human-readable tier name as shown in the editor (Tiny, Mini, Small, Medium, Large, X-Large, 2X-Large).
4258
- * @example Small
4259
- */
4260
- instance_tier_label: string;
4261
- /** @description Why the instance was paused (e.g. credit_limit), when recorded. Only present on paused instances. */
4262
- pause_reason?: string;
4263
- /**
4264
- * @description Postgres major/minor version. Omitted while the lookup is temporarily unavailable.
4265
- * @example 17.4
4266
- */
4267
- postgres_version?: string;
4268
- /**
4269
- * @description Region the database runs in. Omitted while the lookup is temporarily unavailable.
4270
- * @example us-east-1
4271
- */
4272
- region?: string;
4273
- /** @description CPU/memory/disk-IO pressure alerts over the trailing window. Omitted while the lookup is temporarily unavailable. */
4274
- resource_pressure?: components["schemas"]["V1ProjectCloudResourcePressure"];
4275
- /**
4276
- * @description Database instance lifecycle status. INACTIVE means paused. Cached for up to a minute; omitted while the lookup is temporarily unavailable.
4277
- * @enum {string}
4278
- */
4279
- status?: "OK" | "RESIZING" | "UPGRADING" | "RESTARTING" | "COMING_UP" | "RESTORING" | "UNHEALTHY" | "INACTIVE" | "PAUSING" | "UNKNOWN" | "";
4280
- /**
4281
- * @description True when a user (or the platform) explicitly paused this cloud instance.
4282
- * @example false
4283
- */
4284
- user_paused: boolean;
4285
- };
4286
- V1ProjectCloudDisk: {
4287
- /**
4288
- * Format: int64
4289
- * @description Provisioned size of the database volume in bytes.
4290
- * @example 8589934592
4291
- */
4292
- size_bytes: number;
4293
- /**
4294
- * Format: date-time
4295
- * @description When the platform measured these values. Measurements refresh periodically; use this to judge data age.
4296
- * @example 2026-01-15T09:30:00Z
4297
- */
4298
- timestamp: string;
4299
- /**
4300
- * Format: int64
4301
- * @description Bytes used on the database volume, as last measured by the platform. Measures the whole managed volume, so it exceeds what SQL-level views (e.g. pg_database_size) can see.
4302
- * @example 1073741824
4303
- */
4304
- used_bytes: number;
4305
- };
4306
- V1ProjectCloudResourcePressure: {
4307
- /** @description Per-resource pressure signals. Alerts reset when the instance is resized. */
4308
- resources: components["schemas"]["V1ProjectCloudResourceSignal"][] | null;
4309
- /**
4310
- * Format: int64
4311
- * @description Size of the trailing window these signals cover.
4312
- * @example 24
4313
- */
4314
- window_hours: number;
4315
- };
4316
- V1ProjectCloudResourceSignal: {
4317
- /**
4318
- * Format: int64
4319
- * @description Hours within the window that raised a pressure alert.
4320
- * @example 3
4321
- */
4322
- alert_hours: number;
4323
- /**
4324
- * @description Human-readable resource name.
4325
- * @example CPU
4326
- */
4327
- label: string;
4328
- /**
4329
- * Format: date-time
4330
- * @description Most recent pressure alert in the window, if any.
4331
- * @example 2026-01-15T09:30:00Z
4332
- */
4333
- latest_alert_at?: string;
4334
- /**
4335
- * Format: double
4336
- * @description Reported value of the most recent alert, if any.
4337
- * @example 95.5
4338
- */
4339
- latest_value?: number;
4340
- /**
4341
- * @description Resource under pressure: cpu, memory, or disk_io.
4342
- * @example cpu
4343
- */
4344
- resource_type: string;
4345
- };
4346
4178
  V1ProjectCollaborator: {
4347
4179
  /**
4348
4180
  * Format: date-time
@@ -4542,7 +4374,9 @@ export interface components {
4542
4374
  description?: string;
4543
4375
  /** @description Copy custom knowledge (instructions) to the new project */
4544
4376
  include_custom_knowledge?: boolean;
4545
- /** @description Copy chat history to the new project */
4377
+ /** @description Copy project Files. Defaults to false. Requires edit access to the original project; view-only access or a public remix link is not enough. Omitted or false skips Files; true returns 403 without edit access. */
4378
+ include_files?: boolean;
4379
+ /** @description Copy chat history. Defaults to false. Requires edit access to the original project; view-only access or a public remix link is not enough. */
4546
4380
  include_history?: boolean;
4547
4381
  /** @description Initial headless chat message to send after remix */
4548
4382
  initial_message?: string;
@@ -4828,40 +4662,6 @@ export interface components {
4828
4662
  /** @description Knowledge content (markdown). Max 10,000 characters. */
4829
4663
  content: string;
4830
4664
  };
4831
- V1StartMessageExportInputBody: {
4832
- /**
4833
- * @description Exclusive RFC3339 end time. Defaults to the request time.
4834
- * @example 2026-02-01T00:00:00Z
4835
- */
4836
- end_date?: string;
4837
- /**
4838
- * @description Export only messages from this project. The project must be visible to the caller. May be combined with user_id; both filters must match.
4839
- * @example prj_01jw3k9m2xq8r5v0c7d4e6f2gh
4840
- */
4841
- project_id?: string;
4842
- /**
4843
- * @description Inclusive RFC3339 start time. Defaults to 90 days before end_date.
4844
- * @example 2026-01-01T00:00:00Z
4845
- */
4846
- start_date?: string;
4847
- /**
4848
- * @description Export only messages sent by this user. May be combined with project_id; both filters must match.
4849
- * @example Xy7Kd2Lm9Qp4Rt6Vw8Zc1Bn3Fh5
4850
- */
4851
- user_id?: string;
4852
- };
4853
- V1StartMessageExportOutputBody: {
4854
- /**
4855
- * @description Export ID used to poll status.
4856
- * @example 0195b2c3-6a7d-4f3e-9a1b-2c3d4e5f6a7b
4857
- */
4858
- export_id: string;
4859
- /**
4860
- * @description Initial export status (running).
4861
- * @enum {string}
4862
- */
4863
- status: "running";
4864
- };
4865
4665
  V1TriggerSecurityScanInputBody: {
4866
4666
  /** @description Project ID */
4867
4667
  project_id: string;
@@ -5132,6 +4932,51 @@ export interface components {
5132
4932
  */
5133
4933
  remaining: number;
5134
4934
  };
4935
+ V1WorkspaceGroup: {
4936
+ /**
4937
+ * Format: date-time
4938
+ * @description When the group was created.
4939
+ * @example 2026-01-15T09:30:00Z
4940
+ */
4941
+ created_at: string;
4942
+ /**
4943
+ * @description Group description. Absent when not set.
4944
+ * @example Platform and infrastructure engineers
4945
+ */
4946
+ description?: string;
4947
+ /**
4948
+ * @description Group ID. Use as the target id of a type "group" audience entry when publishing with visibility "custom" via POST or PATCH /v1/projects/{project_id}/publish.
4949
+ * @example engineering_workspace_01jw3k9m2xq8r5v0c7d4e6f2gh
4950
+ */
4951
+ id: string;
4952
+ /**
4953
+ * Format: int64
4954
+ * @description Number of members in the group: active members, pending members, and invited users who have not signed up yet.
4955
+ * @example 12
4956
+ */
4957
+ member_count: number;
4958
+ /**
4959
+ * @description Group display name, unique within the workspace.
4960
+ * @example Engineering
4961
+ */
4962
+ name: string;
4963
+ /**
4964
+ * @description External ID assigned by the SCIM identity provider. Present only on SCIM-provisioned groups.
4965
+ * @example 00g1a2b3c4D5E6F7g8h9
4966
+ */
4967
+ scim_external_id?: string;
4968
+ /**
4969
+ * Format: date-time
4970
+ * @description When the group was last updated.
4971
+ * @example 2026-01-15T09:30:00Z
4972
+ */
4973
+ updated_at: string;
4974
+ /**
4975
+ * @description Workspace the group belongs to.
4976
+ * @example workspace_01jw3k9m2xq8r5v0c7d4e6f2gh
4977
+ */
4978
+ workspace_id: string;
4979
+ };
5135
4980
  V1WorkspaceInsightsActivityFreshness: {
5136
4981
  /**
5137
4982
  * Format: date-time
@@ -5661,6 +5506,8 @@ export interface components {
5661
5506
  * @example jane.cooper@acme.com
5662
5507
  */
5663
5508
  email?: string;
5509
+ /** @description Groups the member belongs to, sorted by group name. Never truncated: a member in many groups returns all of them, so response size scales with group membership. Present whenever the request asks for include=groups, empty for a member in no groups; absent otherwise. */
5510
+ groups?: components["schemas"]["V1WorkspaceMemberGroup"][];
5664
5511
  /**
5665
5512
  * Format: date-time
5666
5513
  * @description When the user was invited.
@@ -5695,6 +5542,18 @@ export interface components {
5695
5542
  */
5696
5543
  workspace_id: string;
5697
5544
  };
5545
+ V1WorkspaceMemberGroup: {
5546
+ /**
5547
+ * @description Group ID, as returned by GET /v1/workspaces/{workspace_id}/groups.
5548
+ * @example engineering_workspace_01jw3k9m2xq8r5v0c7d4e6f2gh
5549
+ */
5550
+ id: string;
5551
+ /**
5552
+ * @description Group display name.
5553
+ * @example Engineering
5554
+ */
5555
+ name: string;
5556
+ };
5698
5557
  V1WorkspaceSettingsBody: {
5699
5558
  /**
5700
5559
  * Format: date-time
@@ -6025,6 +5884,11 @@ export interface components {
6025
5884
  skill: components["schemas"]["V1WorkspaceSkillDTO"];
6026
5885
  };
6027
5886
  VisibilityChangeInfo: {
5887
+ /**
5888
+ * Format: date-time
5889
+ * @description Firestore commit time of the visibility write; the project's revision token for client caches
5890
+ */
5891
+ commit_time?: string;
6028
5892
  /** @enum {string} */
6029
5893
  new_visibility: "public" | "private" | "draft" | "workspace_view";
6030
5894
  /** @enum {string} */
@@ -6704,6 +6568,8 @@ export interface operations {
6704
6568
  sort_order?: "asc" | "desc";
6705
6569
  /** @description Filter by SCIM provisioning status. Empty = all members, 'managed' = only SCIM-provisioned members, 'unmanaged' = only members not managed by SCIM. */
6706
6570
  scim_managed?: "managed" | "unmanaged";
6571
+ /** @description Comma-separated optional expansions. Valid values: groups. Unknown values return 400, but a misspelled parameter *name* is ignored rather than rejected (the response carries X-Lovable-Unknown-Query-Params), so check the header if an expansion you asked for is missing. Expansions cost extra reads, so each response field is absent unless asked for. */
6572
+ include?: string;
6707
6573
  };
6708
6574
  header?: never;
6709
6575
  path?: never;
@@ -7048,7 +6914,7 @@ export interface operations {
7048
6914
  /** @description Filter by project type. library returns design-system libraries; template returns non-library templates. */
7049
6915
  type?: "" | "project" | "library" | "template" | "all";
7050
6916
  /** @description Search query */
7051
- q?: string;
6917
+ query?: string;
7052
6918
  /** @description Maximum number of projects to return */
7053
6919
  limit?: number;
7054
6920
  /** @description Opaque pagination cursor returned by the previous page */
@@ -7119,6 +6985,7 @@ export interface operations {
7119
6985
  /** @description Accepted */
7120
6986
  202: {
7121
6987
  headers: {
6988
+ Location?: string;
7122
6989
  [name: string]: unknown;
7123
6990
  };
7124
6991
  content: {
@@ -7243,10 +7110,6 @@ export interface operations {
7243
7110
  start_date?: string;
7244
7111
  /** @description End date in RFC 3339 format (e.g. 2026-04-08T00:00:00Z). Required when series=historical. */
7245
7112
  end_date?: string;
7246
- /** @description Deprecated alias for start_date. */
7247
- startDate?: string;
7248
- /** @description Deprecated alias for end_date. */
7249
- endDate?: string;
7250
7113
  /** @description Time bucket size for series=historical: hourly or daily (default: daily). */
7251
7114
  granularity?: string;
7252
7115
  };
@@ -8326,6 +8189,38 @@ export interface operations {
8326
8189
  };
8327
8190
  };
8328
8191
  };
8192
+ "get-v1-remix-jobs-job_id": {
8193
+ parameters: {
8194
+ query?: never;
8195
+ header?: never;
8196
+ path: {
8197
+ /** @description Remix job ID returned by POST /v1/projects */
8198
+ job_id: string;
8199
+ };
8200
+ cookie?: never;
8201
+ };
8202
+ requestBody?: never;
8203
+ responses: {
8204
+ /** @description OK */
8205
+ 200: {
8206
+ headers: {
8207
+ [name: string]: unknown;
8208
+ };
8209
+ content: {
8210
+ "application/json": components["schemas"]["PublicV1RemixJobOutputBody"];
8211
+ };
8212
+ };
8213
+ /** @description Error */
8214
+ default: {
8215
+ headers: {
8216
+ [name: string]: unknown;
8217
+ };
8218
+ content: {
8219
+ "application/problem+json": components["schemas"]["ErrorModel"];
8220
+ };
8221
+ };
8222
+ };
8223
+ };
8329
8224
  "get-v1-security-scans": {
8330
8225
  parameters: {
8331
8226
  query: {
@@ -8804,10 +8699,6 @@ export interface operations {
8804
8699
  start_date?: string;
8805
8700
  /** @description End date in RFC 3339 format (e.g. 2026-07-08T00:00:00Z). Required. */
8806
8701
  end_date?: string;
8807
- /** @description Deprecated alias for start_date. */
8808
- startDate?: string;
8809
- /** @description Deprecated alias for end_date. */
8810
- endDate?: string;
8811
8702
  /** @description Time bucket size: hourly or daily (default: daily) */
8812
8703
  granularity?: "hourly" | "daily";
8813
8704
  };
@@ -9608,6 +9499,43 @@ export interface operations {
9608
9499
  };
9609
9500
  };
9610
9501
  };
9502
+ "get-v1-workspaces-workspace_id-groups": {
9503
+ parameters: {
9504
+ query?: {
9505
+ /** @description Maximum number of items to return */
9506
+ limit?: number;
9507
+ /** @description Opaque pagination cursor returned by the previous page */
9508
+ cursor?: string;
9509
+ };
9510
+ header?: never;
9511
+ path: {
9512
+ /** @description Workspace ID */
9513
+ workspace_id: string;
9514
+ };
9515
+ cookie?: never;
9516
+ };
9517
+ requestBody?: never;
9518
+ responses: {
9519
+ /** @description OK */
9520
+ 200: {
9521
+ headers: {
9522
+ [name: string]: unknown;
9523
+ };
9524
+ content: {
9525
+ "application/json": components["schemas"]["CursorListResponseV1WorkspaceGroup"];
9526
+ };
9527
+ };
9528
+ /** @description Error */
9529
+ default: {
9530
+ headers: {
9531
+ [name: string]: unknown;
9532
+ };
9533
+ content: {
9534
+ "application/problem+json": components["schemas"]["ErrorModel"];
9535
+ };
9536
+ };
9537
+ };
9538
+ };
9611
9539
  "get-v1-workspaces-workspace_id-knowledge": {
9612
9540
  parameters: {
9613
9541
  query?: never;
@@ -9695,6 +9623,8 @@ export interface operations {
9695
9623
  sort_order?: "asc" | "desc";
9696
9624
  /** @description Filter by SCIM provisioning status. Empty = all members, 'managed' = only SCIM-provisioned members, 'unmanaged' = only members not managed by SCIM. */
9697
9625
  scim_managed?: "managed" | "unmanaged";
9626
+ /** @description Comma-separated optional expansions. Valid values: groups. Unknown values return 400, but a misspelled parameter *name* is ignored rather than rejected (the response carries X-Lovable-Unknown-Query-Params), so check the header if an expansion you asked for is missing. Expansions cost extra reads, so each response field is absent unless asked for. */
9627
+ include?: string;
9698
9628
  };
9699
9629
  header?: never;
9700
9630
  path: {
@@ -9750,16 +9680,16 @@ export interface operations {
9750
9680
  sort_by?: "name" | "created_at" | "last_edited_at" | "last_viewed_at" | "relevance" | "most_visitors_24h" | "most_visitors_7d" | "most_visitors_30d" | "most_edited_24h" | "most_edited_7d" | "most_edited_30d" | "trending" | "risk" | "design_system_published";
9751
9681
  /** @description Sort order */
9752
9682
  sort_order?: "asc" | "desc";
9753
- /** @description Maximum number of projects to return */
9754
- limit?: number;
9755
- /** @description Offset for pagination */
9756
- offset?: number;
9757
9683
  /** @description Only return projects viewed by the current user */
9758
9684
  viewed_by_me?: boolean;
9759
9685
  /** @description Group results by activity tier: active (14d), inactive (60d), dead */
9760
9686
  group_by_activity?: boolean;
9761
9687
  /** @description Which fields to search: empty for all (default), 'name' for project name only */
9762
9688
  search_fields?: "" | "name";
9689
+ /** @description Maximum number of projects to return */
9690
+ limit?: number;
9691
+ /** @description Offset for pagination */
9692
+ offset?: number;
9763
9693
  };
9764
9694
  header?: never;
9765
9695
  path: {
@@ -10171,158 +10101,4 @@ export interface operations {
10171
10101
  };
10172
10102
  };
10173
10103
  };
10174
- "get-v1beta-projects-project_id-cloud": {
10175
- parameters: {
10176
- query?: {
10177
- /** @description Cloud environment to read. Defaults to production. */
10178
- environment?: "production" | "development";
10179
- };
10180
- header?: never;
10181
- path: {
10182
- /** @description Project ID */
10183
- project_id: string;
10184
- };
10185
- cookie?: never;
10186
- };
10187
- requestBody?: never;
10188
- responses: {
10189
- /** @description OK */
10190
- 200: {
10191
- headers: {
10192
- [name: string]: unknown;
10193
- };
10194
- content: {
10195
- "application/json": components["schemas"]["V1ProjectCloudBody"];
10196
- };
10197
- };
10198
- /** @description Error */
10199
- default: {
10200
- headers: {
10201
- [name: string]: unknown;
10202
- };
10203
- content: {
10204
- "application/problem+json": components["schemas"]["ErrorModel"];
10205
- };
10206
- };
10207
- };
10208
- };
10209
- "get-v1beta-workspaces-workspace_id-audit-logs": {
10210
- parameters: {
10211
- query?: {
10212
- /** @description Maximum results per page. */
10213
- limit?: number;
10214
- /** @description Opaque cursor returned by a previous page; omit for the first page. */
10215
- cursor?: string;
10216
- /** @description Comma-separated audit-log action filter (exact match, e.g. workspace.member.added). */
10217
- actions?: string;
10218
- /** @description Comma-separated list of actor user IDs to filter by. */
10219
- actor_ids?: string;
10220
- /** @description Comma-separated list of target resource IDs to filter by. */
10221
- target_ids?: string;
10222
- /** @description Token-based search on target_id and target_display_name. Minimum 3 characters. */
10223
- search?: string;
10224
- /** @description RFC3339 inclusive start of the time range. Defaults to 30 days ago. When paginating with cursor, pass an explicit start_date so the default lower bound does not drift between pages. */
10225
- start_date?: string;
10226
- /** @description RFC3339 inclusive end of the time range. Defaults to now. */
10227
- end_date?: string;
10228
- };
10229
- header?: never;
10230
- path: {
10231
- /** @description Workspace ID */
10232
- workspace_id: string;
10233
- };
10234
- cookie?: never;
10235
- };
10236
- requestBody?: never;
10237
- responses: {
10238
- /** @description OK */
10239
- 200: {
10240
- headers: {
10241
- [name: string]: unknown;
10242
- };
10243
- content: {
10244
- "application/json": components["schemas"]["V1WorkspaceAuditLogsBody"];
10245
- };
10246
- };
10247
- /** @description Error */
10248
- default: {
10249
- headers: {
10250
- [name: string]: unknown;
10251
- };
10252
- content: {
10253
- "application/problem+json": components["schemas"]["ErrorModel"];
10254
- };
10255
- };
10256
- };
10257
- };
10258
- "post-v1beta-workspaces-workspace_id-message-exports": {
10259
- parameters: {
10260
- query?: never;
10261
- header?: never;
10262
- path: {
10263
- /** @description Workspace ID */
10264
- workspace_id: string;
10265
- };
10266
- cookie?: never;
10267
- };
10268
- requestBody: {
10269
- content: {
10270
- "application/json": components["schemas"]["V1StartMessageExportInputBody"];
10271
- };
10272
- };
10273
- responses: {
10274
- /** @description Accepted */
10275
- 202: {
10276
- headers: {
10277
- [name: string]: unknown;
10278
- };
10279
- content: {
10280
- "application/json": components["schemas"]["V1StartMessageExportOutputBody"];
10281
- };
10282
- };
10283
- /** @description Error */
10284
- default: {
10285
- headers: {
10286
- [name: string]: unknown;
10287
- };
10288
- content: {
10289
- "application/problem+json": components["schemas"]["ErrorModel"];
10290
- };
10291
- };
10292
- };
10293
- };
10294
- "get-v1beta-workspaces-workspace_id-message-exports-export_id": {
10295
- parameters: {
10296
- query?: never;
10297
- header?: never;
10298
- path: {
10299
- /** @description Workspace ID */
10300
- workspace_id: string;
10301
- /** @description Export ID returned when the export was started. */
10302
- export_id: string;
10303
- };
10304
- cookie?: never;
10305
- };
10306
- requestBody?: never;
10307
- responses: {
10308
- /** @description OK */
10309
- 200: {
10310
- headers: {
10311
- [name: string]: unknown;
10312
- };
10313
- content: {
10314
- "application/json": components["schemas"]["V1MessageExportStatus"];
10315
- };
10316
- };
10317
- /** @description Error */
10318
- default: {
10319
- headers: {
10320
- [name: string]: unknown;
10321
- };
10322
- content: {
10323
- "application/problem+json": components["schemas"]["ErrorModel"];
10324
- };
10325
- };
10326
- };
10327
- };
10328
10104
  }