---
title: Rebuild the compacted reference topic for swatches
slug: api-documentation/rebuild-the-compacted-reference-topic-for-swatches
docTags: 
createdAt: 2026-08-27T16:59:41.663Z
---

{
  "id": "iFTc_nc3-6pbkP_eZqw0H",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.upstartcommerce.com/pim/internal/swatches/swatches/reference-topic/bootstrap",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/pim/internal/swatches/swatches/reference-topic/bootstrap"
      }
    ],
    "name": "Rebuild the compacted reference topic for swatches",
    "description": "<p>Rebuilds the compacted Avro reference topic for swatches of the calling tenant, republishing every\nlive swatch from the live tables. Does not touch the legacy JSON port topic.</p>\n<p>The run happens in the BACKGROUND: this returns 202 as soon as it starts, and the outcome is in the\nservice logs (a DONE or INCOMPLETE summary) and on the topic itself. A run walks every live\nswatch of the tenant, which takes minutes on a large tenant, and republishes the tenant's whole\nswatch data set — so it can flood every consumer of the topic. Re-running is safe and idempotent;\na request is refused with 409 while a run for the same tenant and entity type is still in flight.</p>\n<p>Authorized permissions:</p>\n<ul>\n<li><code>pim.swatch.reference.bootstrap</code></li>\n</ul>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "NoChannelPortalAccess",
          "name": "NoChannelPortalAccess",
          "kind": "optional",
          "type": "http",
          "description": "<p>(DEPRECATED) This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "scheme": "bearer"
        },
        {
          "id": "ApiKeyAccess",
          "name": "X-Upstart-Api-Key",
          "kind": "optional",
          "type": "apiKey",
          "description": "Api key based authorization.",
          "in": "header"
        },
        {
          "id": "SessionIdAccess",
          "name": "X-Upstart-Session-Id",
          "kind": "optional",
          "type": "apiKey",
          "description": "<p>Session based authorization. This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "in": "header"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "202",
        "description": "<p>The run was started; watch the logs and the topic for the outcome.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ReferenceTopicBootstrap.json",
            "schema": [],
            "modelRef": "RestAPI/GeneralRestResponse/ReferenceTopicBootstrap.json",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "409",
        "description": "<p>A run for this tenant and entity type is already in flight; nothing was started.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ReferenceTopicBootstrap.json",
            "schema": [],
            "modelRef": "RestAPI/GeneralRestResponse/ReferenceTopicBootstrap.json",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "mpL-4n_U3weS7SpivamyD",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.upstartcommerce.com/pim/internal/swatches/swatches/reference-topic/bootstrap \\\n     --header 'accept: application/json'"
        },
        {
          "id": "M-uZGc5lJoibDrNiWP7Ak",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.upstartcommerce.com/pim/internal/swatches/swatches/reference-topic/bootstrap\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "1i3mqr6Jkio0qKfa117FP",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/pim/internal/swatches/swatches/reference-topic/bootstrap\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "1Hb9Fgbdy6cjSLhJQb5XH",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/pim/internal/swatches/swatches/reference-topic/bootstrap\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "mpL-4n_U3weS7SpivamyD"
    },
    "results": {
      "languages": [
        {
          "id": "dzi_GrEvTciUI3_6wanfm",
          "language": "202",
          "code": "// The run was started; watch the logs and the topic for the outcome.\n{}"
        },
        {
          "id": "chvQQunG221QQ43qTn4aJ",
          "language": "409",
          "code": "// A run for this tenant and entity type is already in flight; nothing was started.\n{}"
        }
      ],
      "selectedLanguageId": "dzi_GrEvTciUI3_6wanfm"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}