{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs-realm.sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["configOptionRequirements","img","admonition"]},"redocly_category":"Realm","type":"markdown"},"seo":{"title":"Draft projects","description":"OpenAPI-generated documentation tool with 24k+ stars on Github - make APIs your company's superpower.","siteUrl":"https://redocly.com","image":"/assets/redocly-card.f670aae34a39545a5ea633a540cb3a4a333a1f23bb2ed3c4a1b17a5fbcf0ac85.db81178d.png","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"draft-projects","__idx":0},"children":["Draft projects"]},{"$$mdtype":"Tag","name":"ConfigOptionRequirements","attributes":{"products":["Redoc","Revel","Reef","Realm"],"plans":["Pro","Enterprise","Enterprise+"]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Draft mode lets you validate a Reunite project in a production environment before you publish it for your end users."," ","All new projects in Reunite start in draft mode."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["While a project stays in draft mode:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Reunite marks the project with a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Draft"]}," badge."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Deployment URLs require users to log in before they can open them."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The production deployment runs at a lower scale."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Draft mode protects deployment access while the project remains in draft mode."," ","If you still need restricted access after you go live, configure access controls before you remove draft protection."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"draft-deployments","__idx":1},"children":["Draft deployments"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Draft mode changes both access behavior and production deployment behavior."," ","You can see which builds are in draft mode on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deployments"]}," page."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/draft-deployments-list.5a58dd9c6628e566b13e211ab9b1c46fe7dc73b4ee17f686f996d66ae292c050.4968a88f.png","alt":"Draft mode banner above a deployments table listing production and preview builds marked as Draft","withLightbox":true},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each deployment created while the project is in draft mode is labeled with a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Draft"]}," badge."," ","Because draft mode protections are embedded into the deployment artifact, these deployments maintain their draft status and access protection even after the project goes live."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"access-protection","__idx":2},"children":["Access protection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Access to draft deployment URLs requires users to log in."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After your project goes live, earlier draft deployments existing in Reunite still retain access protection."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"RBAC settings take priority"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you configure your own ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/config/access/rbac"},"children":["RBAC"]}," settings in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redocly.yaml"]},", they take priority over the default draft mode login protection."," ","For example, if you explicitly grant ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["read"]}," access to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["anonymous"]}," team in your RBAC configuration, your draft deployments can be publicly accessible even while the project is in draft mode."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"production-deployment-behavior","__idx":3},"children":["Production deployment behavior"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The production deployment for a draft project runs as a single instance instead of using standard high-availability production scaling."," ","This makes draft mode useful for controlled review and internal validation before you switch the project to normal live deployment behavior."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-you-go-live","__idx":4},"children":["Before you go live"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Go live"]},", review the following:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Who is able to view the project after you remove draft protection."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether you need to review or configure ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/access"},"children":["access control"]}," for the project."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If your production branch and deployment settings are ready for a live deployment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If your content, API descriptions, and custom domain settings are ready to reach external users."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"go-live-with-a-draft-project","__idx":5},"children":["Go live with a draft project"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Going live is irreversible"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Go live"]}," action cannot be undone."," ","Once you publish the project, it cannot be returned to draft mode."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Go live"]}," button is available only for users with the OWNER organization role, or members with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["admin"]}," project role."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When draft protection is removed, Reunite stops applying draft-mode login protection to new deployments."," ","If the project must stay limited to specific users after you go live, add ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/config/access/requires-login"},"children":["a login requirement"]},", or configure ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/config/access/rbac"},"children":["RBAC"]}," and review your project access settings before you continue."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To publish a draft project:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the draft project in Reunite."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/draft-projects-list.e503f21d58ad62d95a7ecabc05428fd3ba1c309131ae4f7bc03a88bb76a7eb48.4968a88f.png","alt":"Projects list with live and draft project cards; the draft project shows a Draft badge","withLightbox":true},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the editor banner, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Go live"]},"."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/draft-project-inline-status.f9767cfa77490c212928ff3e2112a2a8432b0a1f97e69bd5ba533945bcc5e78a.4968a88f.png","alt":"Project Editor with a draft mode banner across the top and a Go live button on the right","withLightbox":true},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the action in the modal."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/draft-project-go-live-confirmation.778f4d92f54f3948e3dfcf67bd89aa4b735a1dc4c6ac47fb88d5bc41d5f38131.4968a88f.png","alt":"Go live confirmation dialog with project information, branch and commit to publish, and Cancel and Go live actions","withLightbox":true},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reunite starts a new production build for the project and removes draft mode from this and future builds."," ","You can then track this build on the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/reunite/project/deployments"},"children":["Deployments"]}," page."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The project switches to high-availability production scaling."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":6},"children":["Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/reunite/project/deployments"},"children":["Deployments"]}]}," - Track the new build after you click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Go live"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/reunite/project/manage-projects"},"children":["Manage projects"]}]}," - Create, configure, and organize projects in Reunite"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/reunite/project/branches-and-deployments"},"children":["Branches and deployments"]}]}," - Configure production branches, branch deployments, and preview behavior"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/access"},"children":["Access control"]}]}," - Understand authentication, authorization, roles, teams, and how they affect who can view your project and content"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/realm/access/roles"},"children":["Roles and permissions"]}]}," - Learn how organization and project permissions affect access to project actions"]}]}]},"headings":[{"value":"Draft projects","id":"draft-projects","depth":1},{"value":"Draft deployments","id":"draft-deployments","depth":2},{"value":"Access protection","id":"access-protection","depth":3},{"value":"Production deployment behavior","id":"production-deployment-behavior","depth":3},{"value":"Before you go live","id":"before-you-go-live","depth":2},{"value":"Go live with a draft project","id":"go-live-with-a-draft-project","depth":2},{"value":"Resources","id":"resources","depth":2}],"frontmatter":{"products":["Redoc","Revel","Reef","Realm"],"plans":["Pro","Enterprise","Enterprise+"],"seo":{"title":"Draft projects"}},"lastModified":"2026-06-10T08:51:12.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/realm/reunite/project/draft-projects","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}