<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Issues Creating Genie Space via API Join Specs Are Not Persisted in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141525#M51750</link>
    <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/200182"&gt;@dikla&lt;/a&gt;&amp;nbsp;-&amp;nbsp;The Databricks Genie API currently only documents the high‑level schema for spaces (via GET /spaces/{id}), but the join_specs, sql_snippets, and measures objects are not fully supported for persistence when passed directly in POST /spaces. That’s why your join_specs disappear — the API ignores them unless they conform to the internal schema used by Genie’s space builder.&lt;/P&gt;&lt;P&gt;Current Limitiations:&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Joins: Must be inferred by Genie or added manually in the UI; API does not persist them.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Measures / SQL snippets: Same limitation — they can be read via GET /spaces/{id} but not reliably written via POST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 09 Dec 2025 16:26:57 GMT</pubDate>
    <dc:creator>Raman_Unifeye</dc:creator>
    <dc:date>2025-12-09T16:26:57Z</dc:date>
    <item>
      <title>Issues Creating Genie Space via API Join Specs Are Not Persisted</title>
      <link>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141520#M51749</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;I’m experimenting with the new API to create a Genie Space.&lt;BR /&gt;I’m able to successfully create the space, but &lt;STRONG&gt;the join definitions are not created&lt;/STRONG&gt;, even though I’m passing a join_specs object in the same format returned by GET /spaces/{id} for an existing space.&lt;/P&gt;&lt;P&gt;Here is the full payload I’m sending (simplified for clarity):&lt;/P&gt;&lt;LI-CODE lang="python"&gt;# Tables and Join Keys
CUSTOMER_TABLE = "mycatalog.customer.data"
ORDERS_TABLE = "mycatalog.shipbob.orders"
JOIN_KEY = "CUSTOMER_ID"
CUSTOMER_ALIAS = "data"
ORDERS_ALIAS = "orders"

MINIMAL_GENIE_CONFIG = {
    "version": 1,
    "data_sources": {
        "tables": [
            {
                "identifier": CUSTOMER_TABLE,
                "column_configs": [
                    {"column_name": "CUSTOMER_ID", "get_example_values": True},
                    {"column_name": "FIRST_NAME", "get_example_values": True, "build_value_dictionary": True},
                    {"column_name": "LOYALTY_STATUS", "get_example_values": True, "build_value_dictionary": True},
                ]
            },
            {
                "identifier": ORDERS_TABLE,
                "column_configs": [
                    {"column_name": "CUSTOMER_ID", "get_example_values": True},
                    {"column_name": "ORDER_DATE", "get_example_values": True},
                    {"column_name": "ORDER_ID", "get_example_values": True},
                ]
            }
        ],
        "join_specs": [
            {
                "id": uuid.uuid4().hex[:32],
                "left": {"identifier": ORDERS_TABLE, "alias": ORDERS_ALIAS},
                "right": {"identifier": CUSTOMER_TABLE, "alias": CUSTOMER_ALIAS},
                "sql": [
                    f"`{ORDERS_ALIAS}`.`{JOIN_KEY}` = `{CUSTOMER_ALIAS}`.`{JOIN_KEY}`",
                    "--rt=FROM_RELATIONSHIP_TYPE_MANY_TO_ONE--"
                ]
            }
        ],
        "sql_snippets": {
            "measures": [
                {
                    "id": uuid.uuid4().hex[:32],
                    "sql": [f"COUNT(DISTINCT {ORDERS_ALIAS}.ORDER_ID)\n"],
                    "display_name": "ORDERS.TOTAL_ORDER_COUNT",
                    "instruction": ["Calculates the total count of unique orders.\n"]
                }
            ]
        }
    },
    "instructions": {
        "prompt": [
            f"You are a test assistant. You can join {ORDERS_TABLE} and {CUSTOMER_TABLE} on {JOIN_KEY}.\n"
        ],
        "example_question_sqls": []
    },
    "title": NEW_SPACE_TITLE,
    "description": "Minimal configuration using confirmed working tables and join structure."
}

serialized_space_str = json.dumps(MINIMAL_GENIE_CONFIG)

payload = {
    "warehouse_id": warehouse_id,
    "serialized_space": serialized_space_str,
    "title": genie_space_config["title"],
    "description": genie_space_config["description"],
}&lt;/LI-CODE&gt;&lt;P&gt;The space is created, but the &lt;STRONG&gt;join&lt;/STRONG&gt; defined in join_specs doesn’t appear in the resulting space.&lt;BR /&gt;Only the tables are created.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;BR /&gt;Is there any documentation describing the expected structure or constraints for creating:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;join_specs&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;common SQL expressions&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;measures&lt;BR /&gt;directly through the API?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I’ve only found the high-level schema in GET /spaces/{id}, but not how to correctly POST join definitions so they persist.&lt;/P&gt;&lt;P&gt;Any guidance or examples would be greatly appreciated.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2025 15:45:00 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141520#M51749</guid>
      <dc:creator>dikla</dc:creator>
      <dc:date>2025-12-09T15:45:00Z</dc:date>
    </item>
    <item>
      <title>Re: Issues Creating Genie Space via API Join Specs Are Not Persisted</title>
      <link>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141525#M51750</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/200182"&gt;@dikla&lt;/a&gt;&amp;nbsp;-&amp;nbsp;The Databricks Genie API currently only documents the high‑level schema for spaces (via GET /spaces/{id}), but the join_specs, sql_snippets, and measures objects are not fully supported for persistence when passed directly in POST /spaces. That’s why your join_specs disappear — the API ignores them unless they conform to the internal schema used by Genie’s space builder.&lt;/P&gt;&lt;P&gt;Current Limitiations:&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Joins: Must be inferred by Genie or added manually in the UI; API does not persist them.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Measures / SQL snippets: Same limitation — they can be read via GET /spaces/{id} but not reliably written via POST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2025 16:26:57 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141525#M51750</guid>
      <dc:creator>Raman_Unifeye</dc:creator>
      <dc:date>2025-12-09T16:26:57Z</dc:date>
    </item>
    <item>
      <title>Re: Issues Creating Genie Space via API Join Specs Are Not Persisted</title>
      <link>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141535#M51751</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/179607"&gt;@Raman_Unifeye&lt;/a&gt;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/179607"&gt;@Raman_Unifeye&lt;/a&gt;&amp;nbsp;Thanks for the detailed explanation — that really helps clarify why my join specs weren’t being persisted.&lt;/P&gt;&lt;P&gt;Do you know if support for persisting join_specs, sql_snippets, and measures via the API is planned for an upcoming release?&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2025 17:06:05 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141535#M51751</guid>
      <dc:creator>dikla</dc:creator>
      <dc:date>2025-12-09T17:06:05Z</dc:date>
    </item>
    <item>
      <title>Re: Issues Creating Genie Space via API Join Specs Are Not Persisted</title>
      <link>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141539#M51753</link>
      <description>&lt;P&gt;&lt;SPAN&gt;No &lt;/SPAN&gt;&lt;SPAN&gt;committed &lt;/SPAN&gt;&lt;SPAN&gt;timeline &lt;/SPAN&gt;&lt;SPAN&gt;has &lt;/SPAN&gt;&lt;SPAN&gt;been &lt;/SPAN&gt;&lt;SPAN&gt;published or I came across at least&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2025 17:51:24 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/141539#M51753</guid>
      <dc:creator>Raman_Unifeye</dc:creator>
      <dc:date>2025-12-09T17:51:24Z</dc:date>
    </item>
    <item>
      <title>Re: Issues Creating Genie Space via API Join Specs Are Not Persisted</title>
      <link>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/143116#M52098</link>
      <description>&lt;P&gt;The serialized space JSON is incorrect. It has `join_specs` and `sql_snippets` nested under `data_sources`, but they should be nested under `instructions` instead. There they apply as expected.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jan 2026 18:51:28 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/issues-creating-genie-space-via-api-join-specs-are-not-persisted/m-p/143116#M52098</guid>
      <dc:creator>mtaran</dc:creator>
      <dc:date>2026-01-06T18:51:28Z</dc:date>
    </item>
  </channel>
</rss>

