diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs
index d73d605..22f8595 100644
--- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs
+++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs
@@ -656,7 +656,6 @@ partial void ProcessImportProjectMediaResponseContent(
/// The payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).
///
///
- /// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.
/// Existing project ID to import media into. If not provided, a new project will be created.
/// When importing into an existing project, media filenames must not conflict with existing files.
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.PublishJob.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.PublishJob.g.cs
index 40a9d7a..bede848 100644
--- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.PublishJob.g.cs
+++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.PublishJob.g.cs
@@ -49,6 +49,11 @@ partial void ProcessPublishJobResponseContent(
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.
/// - `download_url`: a time-limited signed URL to download the exported media file directly,
/// along with `download_url_expires_at` indicating when the link expires.
+ /// ### Republishing
+ /// Publishing the same composition a second time automatically reuses the previous share URL,
+ /// overwriting its content — so bookmarks and links handed out for the first publish keep working.
+ /// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish
+ /// and an Audio publish of the same composition produce two separate share URLs.
/// ### Async Operations
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.
@@ -591,6 +596,11 @@ partial void ProcessPublishJobResponseContent(
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.
/// - `download_url`: a time-limited signed URL to download the exported media file directly,
/// along with `download_url_expires_at` indicating when the link expires.
+ /// ### Republishing
+ /// Publishing the same composition a second time automatically reuses the previous share URL,
+ /// overwriting its content — so bookmarks and links handed out for the first publish keep working.
+ /// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish
+ /// and an Audio publish of the same composition produce two separate share URLs.
/// ### Async Operations
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.
diff --git a/src/libs/Descript/Generated/Descript.IApiEndpointsClient.ImportProjectMedia.g.cs b/src/libs/Descript/Generated/Descript.IApiEndpointsClient.ImportProjectMedia.g.cs
index c063b71..5ec5b86 100644
--- a/src/libs/Descript/Generated/Descript.IApiEndpointsClient.ImportProjectMedia.g.cs
+++ b/src/libs/Descript/Generated/Descript.IApiEndpointsClient.ImportProjectMedia.g.cs
@@ -58,7 +58,6 @@ public partial interface IApiEndpointsClient
/// The payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).
///
///
- /// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.
/// Existing project ID to import media into. If not provided, a new project will be created.
/// When importing into an existing project, media filenames must not conflict with existing files.
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
diff --git a/src/libs/Descript/Generated/Descript.IApiEndpointsClient.PublishJob.g.cs b/src/libs/Descript/Generated/Descript.IApiEndpointsClient.PublishJob.g.cs
index a9f4795..d7f87d5 100644
--- a/src/libs/Descript/Generated/Descript.IApiEndpointsClient.PublishJob.g.cs
+++ b/src/libs/Descript/Generated/Descript.IApiEndpointsClient.PublishJob.g.cs
@@ -12,6 +12,11 @@ public partial interface IApiEndpointsClient
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.
/// - `download_url`: a time-limited signed URL to download the exported media file directly,
/// along with `download_url_expires_at` indicating when the link expires.
+ /// ### Republishing
+ /// Publishing the same composition a second time automatically reuses the previous share URL,
+ /// overwriting its content — so bookmarks and links handed out for the first publish keep working.
+ /// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish
+ /// and an Audio publish of the same composition produce two separate share URLs.
/// ### Async Operations
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.
@@ -36,6 +41,11 @@ public partial interface IApiEndpointsClient
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.
/// - `download_url`: a time-limited signed URL to download the exported media file directly,
/// along with `download_url_expires_at` indicating when the link expires.
+ /// ### Republishing
+ /// Publishing the same composition a second time automatically reuses the previous share URL,
+ /// overwriting its content — so bookmarks and links handed out for the first publish keep working.
+ /// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish
+ /// and an Audio publish of the same composition produce two separate share URLs.
/// ### Async Operations
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.
diff --git a/src/libs/Descript/Generated/Descript.Models.ImportProjectMediaRequest.g.cs b/src/libs/Descript/Generated/Descript.Models.ImportProjectMediaRequest.g.cs
index c4645b8..c0ebb93 100644
--- a/src/libs/Descript/Generated/Descript.Models.ImportProjectMediaRequest.g.cs
+++ b/src/libs/Descript/Generated/Descript.Models.ImportProjectMediaRequest.g.cs
@@ -14,7 +14,6 @@ namespace Descript
public sealed partial class ImportProjectMediaRequest
{
///
- /// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.
/// Existing project ID to import media into. If not provided, a new project will be created.
/// When importing into an existing project, media filenames must not conflict with existing files.
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
@@ -92,7 +91,6 @@ public sealed partial class ImportProjectMediaRequest
/// Initializes a new instance of the class.
///
///
- /// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.
/// Existing project ID to import media into. If not provided, a new project will be created.
/// When importing into an existing project, media filenames must not conflict with existing files.
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
diff --git a/src/libs/Descript/Generated/autosdk.generated-examples.json b/src/libs/Descript/Generated/autosdk.generated-examples.json
index 8d9cc32..57a8915 100644
--- a/src/libs/Descript/Generated/autosdk.generated-examples.json
+++ b/src/libs/Descript/Generated/autosdk.generated-examples.json
@@ -92,7 +92,7 @@
"Order": 9,
"Title": "Publish project media",
"Slug": "publishjob",
- "Description": "Publish a project composition to create a shareable link and download the exported file.\n\nPublishes a specific composition from a project, rendering the output as video or audio\nat the specified resolution. When the job completes successfully the result contains both:\n\n- \u0060share_url\u0060: a public URL that can be used to view the published content on Descript\u0027s share site.\n- \u0060download_url\u0060: a time-limited signed URL to download the exported media file directly,\n along with \u0060download_url_expires_at\u0060 indicating when the link expires.\n\n### Async Operations\n\nPublish jobs run in the background and return a \u0060job_id\u0060. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,\nwhich returns the \u0060share_url\u0060, \u0060download_url\u0060, and \u0060download_url_expires_at\u0060 fields once the job finishes.\n\n### Dynamic webhook\n\nIf \u0060callback_url\u0060 is provided, Descript will POST the job status to that URL when the job completes or fails.\nThe payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).",
+ "Description": "Publish a project composition to create a shareable link and download the exported file.\n\nPublishes a specific composition from a project, rendering the output as video or audio\nat the specified resolution. When the job completes successfully the result contains both:\n\n- \u0060share_url\u0060: a public URL that can be used to view the published content on Descript\u0027s share site.\n- \u0060download_url\u0060: a time-limited signed URL to download the exported media file directly,\n along with \u0060download_url_expires_at\u0060 indicating when the link expires.\n\n### Republishing\n\nPublishing the same composition a second time automatically reuses the previous share URL,\noverwriting its content \u2014 so bookmarks and links handed out for the first publish keep working.\nRepublish matching is keyed on \u0060(project_id, composition_id, media_type)\u0060, so a Video publish\nand an Audio publish of the same composition produce two separate share URLs.\n\n### Async Operations\n\nPublish jobs run in the background and return a \u0060job_id\u0060. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,\nwhich returns the \u0060share_url\u0060, \u0060download_url\u0060, and \u0060download_url_expires_at\u0060 fields once the job finishes.\n\n### Dynamic webhook\n\nIf \u0060callback_url\u0060 is provided, Descript will POST the job status to that URL when the job completes or fails.\nThe payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).",
"Language": "csharp",
"Code": "using var client = new DescriptClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Descript.PublishJobRequest\u003E(\n @\u0022{\n \u0022\u0022project_id\u0022\u0022: \u0022\u00229f36ee32-5a2c-47e7-b1a3-94991d3e3ddb\u0022\u0022,\n \u0022\u0022composition_id\u0022\u0022: \u0022\u002239677a40-1c43-4c36-8449-46cfbc4de2b5\u0022\u0022,\n \u0022\u0022media_type\u0022\u0022: \u0022\u0022Audio\u0022\u0022\n}\u0022)!;\n\nvar response = await client.ApiEndpoints.PublishJobAsync(\n request: request\n);",
"Format": "sdk",
diff --git a/src/libs/Descript/openapi.yaml b/src/libs/Descript/openapi.yaml
index 55954c6..d2734c8 100644
--- a/src/libs/Descript/openapi.yaml
+++ b/src/libs/Descript/openapi.yaml
@@ -304,8 +304,6 @@ paths:
type: string
format: uuid
description: |
- **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.
-
Existing project ID to import media into. If not provided, a new project will be created.
When importing into an existing project, media filenames must not conflict with existing files.
example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
@@ -938,6 +936,13 @@ paths:
- `download_url`: a time-limited signed URL to download the exported media file directly,
along with `download_url_expires_at` indicating when the link expires.
+ ### Republishing
+
+ Publishing the same composition a second time automatically reuses the previous share URL,
+ overwriting its content — so bookmarks and links handed out for the first publish keep working.
+ Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish
+ and an Audio publish of the same composition produce two separate share URLs.
+
### Async Operations
Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,