> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # PublishDraftPost # Package: blog # Namespace: DraftPostService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/blog/draft-posts/publish-draft-post.md ## Permission Scopes: Manage Blog: SCOPE.DC-BLOG.MANAGE-BLOG ## Introduction Publishes a draft post by ID. This creates a new [post](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/post-object.md) with the data from the draft post. If the draft post was already published, the published post will be updated with the latest values from the draft post. --- ## REST API ### Schema ``` Method: publishDraftPost Description: Publishes a draft post by GUID. This creates a new [post](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/post-object.md) with the data from the draft post. If the draft post was already published, the published post will be updated with the latest values from the draft post. URL: https://www.wixapis.com/blog/v3/draft-posts/{draftPostId}/publish Method: POST Return type: PublishDraftPostResponse - name: postId | type: string | description: Published post GUID. ``` ### Examples ### PublishDraftPost ```curl ~~~cURL curl -X POST \ 'https://www.wixapis.com/blog/v3/draft-posts/894a58a2-dc75-422d-9ca6-00a489750dfd/publish' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.blog.DraftPostService.publishDraftPost(draftPostId) Description: Publishes a draft post by GUID. This creates a new [post](https://dev.wix.com/docs/rest/business-solutions/blog/posts-stats/post-object.md) with the data from the draft post. If the draft post was already published, the published post will be updated with the latest values from the draft post. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: draftPostId Method parameters: param name: draftPostId | type: string | description: Draft post GUID. | required: true Return type: PROMISE - name: postId | type: string | description: Published post GUID. ``` ### Examples ### Publish a draft post (with elevated permissions) ```javascript import { draftPosts } from '@wix/blog'; import { auth } from '@wix/essentials'; const elevatedPublishDraftPost = auth.elevate(draftPosts.publishDraftPost); // Sample draftPostId value = "6f4d3a1e-dec6-4818-b8b0-9fb62862aa5b" export async function myPublishDraftPostFunction(draftPostId) { try { const publishedPost = await elevatedPublishDraftPost(draftPostId); console.log('Successfully published the following post:', publishedPost); return draftPostId; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to: * { * "postId": "6f4d3a1e-dec6-4818-b8b0-9fb62862aa5b" * } */ ``` ### Publish a draft post ```javascript import { draftPosts } from '@wix/blog'; // Sample draftPostId value = "6f4d3a1e-dec6-4818-b8b0-9fb62862aa5b" export async function myPublishDraftPostFunction(draftPostId) { try { const publishedPost = await draftPosts.publishDraftPost(draftPostId); console.log('Successfully published the following post:', publishedPost); return draftPostId; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to: * { * "postId": "6f4d3a1e-dec6-4818-b8b0-9fb62862aa5b" * } */ ``` ### publishDraftPost (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { draftPosts } from '@wix/blog'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { draftPosts }, // Include the auth strategy and host as relevant }); async function publishDraftPost(draftPostId) { const response = await myWixClient.draftPosts.publishDraftPost(draftPostId); }; ``` ---