---
title: Rebuild the compacted reference topic for brands
slug: api-documentation/rebuild-the-compacted-reference-topic-for-brands
docTags: 
createdAt: 2026-08-27T17:02:03.583Z
---

{
  "id": "8FBsaWTLlaFxPclS-e7Sz",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.upstartcommerce.com/pim/internal/brands/reference-topic/bootstrap",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/pim/internal/brands/reference-topic/bootstrap"
      }
    ],
    "name": "Rebuild the compacted reference topic for brands",
    "description": "<p>Rebuilds the compacted Avro reference topic for brands of the calling tenant, republishing every\nlive brand 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\nbrand of the tenant, which takes minutes on a large tenant, and republishes the tenant's whole\nbrand 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.brand.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": "g0QU_tP3dRJsfO52x-5pp",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.upstartcommerce.com/pim/internal/brands/reference-topic/bootstrap \\\n     --header 'accept: application/json'"
        },
        {
          "id": "5eKqhdJ1EA2gigvERRioz",
          "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/brands/reference-topic/bootstrap\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "W6y2Q76vV6_3vxIpS2ikA",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/pim/internal/brands/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": "QEYeEW8reSDiG66_44vee",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/pim/internal/brands/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": "g0QU_tP3dRJsfO52x-5pp"
    },
    "results": {
      "languages": [
        {
          "id": "Al7ZXrchUUmVR7PZDFFQ8",
          "language": "202",
          "code": "// The run was started; watch the logs and the topic for the outcome.\n{}"
        },
        {
          "id": "ieSIN6X8yrCkl-d7ilVw_",
          "language": "409",
          "code": "// A run for this tenant and entity type is already in flight; nothing was started.\n{}"
        }
      ],
      "selectedLanguageId": "Al7ZXrchUUmVR7PZDFFQ8"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}