{"id":2762,"date":"2024-10-16T09:09:28","date_gmt":"2024-10-16T09:09:28","guid":{"rendered":"https:\/\/infralligence.com\/?p=2762"},"modified":"2024-12-31T09:28:54","modified_gmt":"2024-12-31T09:28:54","slug":"transactions-required-to-modify-revit-projects-with-api","status":"publish","type":"post","link":"https:\/\/infralligence.com\/pl\/resources\/transactions-required-to-modify-revit-projects-with-api\/","title":{"rendered":"Transactions: required to modify Revit projects with API"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"2762\" class=\"elementor elementor-2762\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a636728 e-con-full kk-blog-post e-flex rael-particle-no e-con e-parent\" data-id=\"a636728\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-978bece elementor-widget elementor-widget-text-editor\" data-id=\"978bece\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Your code can\u2019t modify Revit projects without a Transaction. Knowing how to use transactions can save you from frustrating code-breaking errors.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-acc30ef elementor-widget elementor-widget-image\" data-id=\"acc30ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2653\" height=\"1493\" src=\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png\" class=\"attachment-full size-full wp-image-2764\" alt=\"\" srcset=\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png 2653w, https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-300x169.png 300w, https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-1024x576.png 1024w, https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-768x432.png 768w, https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-1536x864.png 1536w, https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-2048x1153.png 2048w\" sizes=\"(max-width: 2653px) 100vw, 2653px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-98d5948 elementor-widget elementor-widget-text-editor\" data-id=\"98d5948\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5>\ud83d\udccc TLDR \u2013 Summary Upfront:<\/h5><p>Use the <strong>Transaction<\/strong> class when your code modifies Revit projects (e.g., create or edit elements).<\/p><p>\u27a1\ufe0f <strong>Utworzysz<\/strong> and <strong>Zaczniesz wprowadza\u0107<\/strong> a transaction before the project-modifying code.<\/p><p>\u27a1\ufe0f <strong>Commit<\/strong> the transaction to save changes.<\/p><p>\u27a1\ufe0f Or <strong>RollBack<\/strong> the transaction to discard changes if something goes wrong.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ecaaabc elementor-widget elementor-widget-rael-table-of-contents\" data-id=\"ecaaabc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;rael_headings_by_tags&quot;:[&quot;h3&quot;,&quot;h4&quot;],&quot;rael_exclude_headings_by_selector&quot;:[],&quot;rael_min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;rael_marker_view&quot;:&quot;numbers&quot;,&quot;rael_hierarchical_view&quot;:&quot;yes&quot;,&quot;rael_min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;rael_min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"rael-table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"rael-toc__header\">\n\t\t\t\t<h5 class=\"rael-toc__header-title\">\ud83d\udd0dContent: <\/h5>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"rael-toc__body\">\n\t\t\t<div class=\"rael-toc__spinner-container\">\n\t\t\t\t<i class=\"rael-toc__spinner eicon-loading eicon-animation-spin\" aria-hidden=\"true\"><\/i>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-72791cb elementor-widget elementor-widget-text-editor\" data-id=\"72791cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>What are Transactions and when to use them<\/h3><p>A transaction encapsulates changes, ensuring they can be committed (saved) or rolled back (undone) if something goes wrong. Any modification to a project through Revit API must happen inside a transaction. If you try to modify a document outside of an active transaction, Revit will throw an error.<\/p><p>Generally, <strong>use the Transaction class whenever your code modifies a Revit project<\/strong>. Some methods handle transactions internally, and others can\u2019t be called within an active transaction. The rules aren\u2019t strict, but don\u2019t worry \u2014 if you encounter an error, Revit will indicate if a transaction is required or prohibited. And over time, you\u2019ll develop a \u201ctransaction intuition.\u201d<\/p><h4>Classes: Transaction, SubTransaction and TransactionGroup<\/h4><p>Revit API provides 3 main classes for handling transactions:<\/p><ul><li><strong>Transaction<\/strong> (the primary class)<\/li><li><strong>SubTransaction<\/strong> (to group smaller changes)<\/li><li><strong>TransactionGroup<\/strong> (to group multiple transactions)<\/li><\/ul><p>In practice, the <strong>Transaction class is all you need<\/strong>. SubTransaction and TransactionGroup can help organize code but are rarely used.<\/p><h3>Transaction Class: Start, Commit and Rollback<\/h3><p>Transaction class has three key methods:<\/p><ul><li><strong>Zaczniesz wprowadza\u0107<\/strong>: Begins the transaction before any changes.<\/li><li><strong>Commit<\/strong>: Saves changes to the document.<\/li><li><strong>RollBack<\/strong>: Discards changes if something goes wrong.<\/li><\/ul><p>Use <strong>try-catch<\/strong> blocks to ensure the transaction commits if everything goes as planned, or rolls back in case of errors.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c6c44e1 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"c6c44e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre class='line-numbers theme-default' data-show-toolbar='no'><code class='language-csharp'>using var transaction = new Transaction(doc, &quot;Creating families with my Transaction&quot;);\ntry\n{\n\ttransaction.Start();\n\n\t\/\/ document-modifying code goes here, for example:\n\tdoc.Create.NewFamilyInstance(insertionPoint, familySymbol, StructuralType.NonStructural);\n\tdoc.Create.NewFamilyInstance(insertionPoint, familySymbol2, StructuralType.NonStructural);\n\n\ttransaction.Commit();\n}\ncatch\n{\n\ttransaction.RollBack();\n}<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e7928f elementor-widget elementor-widget-text-editor\" data-id=\"2e7928f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIn this example, if everything goes right, the transaction will be committed, inserting both families into the project. If an error occurs, the transaction will be rolled back and no changes will be applied.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d816b1 elementor-widget elementor-widget-text-editor\" data-id=\"8d816b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Transactions in Revit: Effect on the UI<\/h3><p>Revit treats the entire transaction as a single operation. It will appear as one entry in Revit\u2019s Undo menu, allowing users to undo or redo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2166b79 elementor-widget elementor-widget-image\" data-id=\"2166b79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"811\" height=\"191\" src=\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-1.png\" class=\"attachment-full size-full wp-image-2765\" alt=\"\" srcset=\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-1.png 811w, https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-1-300x71.png 300w, https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c-1-768x181.png 768w\" sizes=\"(max-width: 811px) 100vw, 811px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Your code can\u2019t modify Revit projects without a Transaction. Knowing how to use transactions can save you from frustrating code-breaking errors. \ud83d\udccc TLDR \u2013 Summary Upfront: Use the Transaction class when your code modifies Revit projects (e.g., create or edit elements). \u27a1\ufe0f Create and Start a transaction before the project-modifying code. \u27a1\ufe0f Commit the transaction [&hellip;]<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[6],"tags":[],"post_folder":[],"class_list":["post-2762","post","type-post","status-publish","format-standard","hentry","category-revit-api-basics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Transactions: required to modify Revit projects with API - Infralligence<\/title>\n<meta name=\"description\" content=\"Transaction is The main class for handling changes in Revit documents. Use Start, Commit, and RollBack methods...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/infralligence.com\/pl\/resources\/transactions-required-to-modify-revit-projects-with-api\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transactions: required to modify Revit projects with API - Infralligence\" \/>\n<meta property=\"og:description\" content=\"Transaction is The main class for handling changes in Revit documents. Use Start, Commit, and RollBack methods...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/infralligence.com\/pl\/resources\/transactions-required-to-modify-revit-projects-with-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Infralligence\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-16T09:09:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-31T09:28:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2653\" \/>\n\t<meta property=\"og:image:height\" content=\"1493\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kamil Korus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kamil Korus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/\"},\"author\":{\"name\":\"Kamil Korus\",\"@id\":\"https:\/\/infralligence.com\/#\/schema\/person\/838177275b7d3b8b217b13180a74aeda\"},\"headline\":\"Transactions: required to modify Revit projects with API\",\"datePublished\":\"2024-10-16T09:09:28+00:00\",\"dateModified\":\"2024-12-31T09:28:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/\"},\"wordCount\":358,\"publisher\":{\"@id\":\"https:\/\/infralligence.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png\",\"articleSection\":[\"Revit API Basics\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/\",\"url\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/\",\"name\":\"Transactions: required to modify Revit projects with API - Infralligence\",\"isPartOf\":{\"@id\":\"https:\/\/infralligence.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png\",\"datePublished\":\"2024-10-16T09:09:28+00:00\",\"dateModified\":\"2024-12-31T09:28:54+00:00\",\"description\":\"Transaction is The main class for handling changes in Revit documents. Use Start, Commit, and RollBack methods...\",\"breadcrumb\":{\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage\",\"url\":\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png\",\"contentUrl\":\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/infralligence.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transactions: required to modify Revit projects with API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/infralligence.com\/#website\",\"url\":\"https:\/\/infralligence.com\/\",\"name\":\"Infralligence\",\"description\":\"Digital Automation and AI for civil engineering\",\"publisher\":{\"@id\":\"https:\/\/infralligence.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/infralligence.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/infralligence.com\/#organization\",\"name\":\"Infralligence\",\"url\":\"https:\/\/infralligence.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/infralligence.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/11\/android-chrome-192x192-1.png\",\"contentUrl\":\"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/11\/android-chrome-192x192-1.png\",\"width\":192,\"height\":192,\"caption\":\"Infralligence\"},\"image\":{\"@id\":\"https:\/\/infralligence.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/infralligence.com\/#\/schema\/person\/838177275b7d3b8b217b13180a74aeda\",\"name\":\"Kamil Korus\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/infralligence.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/95bd7da2ac29ff34a2ab9bf4ea30273b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/95bd7da2ac29ff34a2ab9bf4ea30273b?s=96&d=mm&r=g\",\"caption\":\"Kamil Korus\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/kamil-korus\/\"],\"url\":\"https:\/\/infralligence.com\/pl\/resources\/author\/kamil-korus\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Transactions: required to modify Revit projects with API - Infralligence","description":"Transaction is The main class for handling changes in Revit documents. Use Start, Commit, and RollBack methods...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/infralligence.com\/pl\/resources\/transactions-required-to-modify-revit-projects-with-api\/","og_locale":"pl_PL","og_type":"article","og_title":"Transactions: required to modify Revit projects with API - Infralligence","og_description":"Transaction is The main class for handling changes in Revit documents. Use Start, Commit, and RollBack methods...","og_url":"https:\/\/infralligence.com\/pl\/resources\/transactions-required-to-modify-revit-projects-with-api\/","og_site_name":"Infralligence","article_published_time":"2024-10-16T09:09:28+00:00","article_modified_time":"2024-12-31T09:28:54+00:00","og_image":[{"width":2653,"height":1493,"url":"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png","type":"image\/png"}],"author":"Kamil Korus","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Kamil Korus","Szacowany czas czytania":"2 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#article","isPartOf":{"@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/"},"author":{"name":"Kamil Korus","@id":"https:\/\/infralligence.com\/#\/schema\/person\/838177275b7d3b8b217b13180a74aeda"},"headline":"Transactions: required to modify Revit projects with API","datePublished":"2024-10-16T09:09:28+00:00","dateModified":"2024-12-31T09:28:54+00:00","mainEntityOfPage":{"@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/"},"wordCount":358,"publisher":{"@id":"https:\/\/infralligence.com\/#organization"},"image":{"@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage"},"thumbnailUrl":"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png","articleSection":["Revit API Basics"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/","url":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/","name":"Transactions: required to modify Revit projects with API - Infralligence","isPartOf":{"@id":"https:\/\/infralligence.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage"},"image":{"@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage"},"thumbnailUrl":"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png","datePublished":"2024-10-16T09:09:28+00:00","dateModified":"2024-12-31T09:28:54+00:00","description":"Transaction is The main class for handling changes in Revit documents. Use Start, Commit, and RollBack methods...","breadcrumb":{"@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#primaryimage","url":"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png","contentUrl":"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/12\/2aedfa5a-2a5c-4552-8e97-fb1d67f2474c.png"},{"@type":"BreadcrumbList","@id":"https:\/\/infralligence.com\/resources\/transactions-required-to-modify-revit-projects-with-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/infralligence.com\/"},{"@type":"ListItem","position":2,"name":"Transactions: required to modify Revit projects with API"}]},{"@type":"WebSite","@id":"https:\/\/infralligence.com\/#website","url":"https:\/\/infralligence.com\/","name":"Infralligence","description":"Digital Automation and AI for civil engineering","publisher":{"@id":"https:\/\/infralligence.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/infralligence.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/infralligence.com\/#organization","name":"Infralligence","url":"https:\/\/infralligence.com\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/infralligence.com\/#\/schema\/logo\/image\/","url":"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/11\/android-chrome-192x192-1.png","contentUrl":"https:\/\/infralligence.com\/wp-content\/uploads\/2024\/11\/android-chrome-192x192-1.png","width":192,"height":192,"caption":"Infralligence"},"image":{"@id":"https:\/\/infralligence.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/infralligence.com\/#\/schema\/person\/838177275b7d3b8b217b13180a74aeda","name":"Kamil Korus","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/infralligence.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/95bd7da2ac29ff34a2ab9bf4ea30273b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/95bd7da2ac29ff34a2ab9bf4ea30273b?s=96&d=mm&r=g","caption":"Kamil Korus"},"sameAs":["https:\/\/www.linkedin.com\/in\/kamil-korus\/"],"url":"https:\/\/infralligence.com\/pl\/resources\/author\/kamil-korus\/"}]}},"_links":{"self":[{"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/posts\/2762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/comments?post=2762"}],"version-history":[{"count":7,"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/posts\/2762\/revisions"}],"predecessor-version":[{"id":2771,"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/posts\/2762\/revisions\/2771"}],"wp:attachment":[{"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/media?parent=2762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/categories?post=2762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/tags?post=2762"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/infralligence.com\/pl\/wp-json\/wp\/v2\/post_folder?post=2762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}