# Component Set

A [**Component Set**](https://boomi.markusschmidt.pro/boomi-console/library/packages) (short: Set) is a Json file-based collection of components.

{% hint style="info" %}
I - Markus Schmidt - invented this term and the idea behind, when I wanted to work with a collection (set) of components which I was editing during a sprint. A Component Set allowed me to deploy and to document my sprint output with a single reference to my working set.
{% endhint %}

You can look at *Component Sets* like project files. Instead of specifying multiple component Ids, you can put them into a Components Set. *Component Sets* are JsonC files (Json with Comments), which contain a set of components -> working set.

-> [a-package-file](https://boomi.markusschmidt.pro/boomi-console/library/packages/a-package-file "mention")

### Sets for APIs

You can also use Component Sets to group components that belong together, like APIs (API.JsonC) . You can then deploy or document all these components by using `/s API` argument

<pre class="language-json"><code class="lang-json">{
  "header": {
    "name": "NetSuite API Services" ,
    "packageVersions": [
      { "date": "2024-06-25", "author": "msc", "changes": [ "Created" ] }
    ]
  },
  "components": [
<strong>    { "deploy": true,  "hint" : "API.NetSuite",         "id" : "b4cbeef0-.."};
</strong>
    { "deploy": false,  "hint" : "POST /purchaseOrder", "id" : "f5c4a6fa-..."},
    { "deploy": false,  "hint" : "GET  /purchaseOrder", "id" : "219c73ef-..."},
    { "deploy": false,  "hint" : "GET  /supplier",      "id" : "f61476d1-..."} 
  ]
}
</code></pre>
