Import and Export Product Content
Download every product's editor content as JSON, edit it in bulk, and import it into your draft for review before you save.
Product content is what you set for each product in the editor: display name and description, tags, badge, summary, TL;DR items, features, requirements, free product actions, 5Metrics and resource update settings, and product SEO. Download it as one JSON file to keep a backup or to edit many products at once, then import the file to fill in the editor.
An import changes your draft only. Check the result in the preview, then save. Nothing on your store changes before you save.
Requirements
| Requirement | Detail |
|---|---|
| Language | The default language. The option is hidden while you edit a translation, and translations are not part of the file. |
| Plan | Export works on every plan. The fields an import can change depend on your plan, see Plan limits. |
| File | JSON in the product content format, up to 1 MB. Export a file first and use it as a template. |
The file holds storefront content only. Tebex package names, descriptions, prices, and media stay in Tebex; a display name or description in the file replaces them on your storefront only.
Open the dialog
- Open your project in the editor.
- Select the Product Detail page, then the Product Detail section. The Products Page section on the Products page offers the same dialog.
- In the Properties panel, select Import / export next to Product content.
Export
Select Download JSON. The file is named after your store and the date, for example yourstore-product-content-2026-09-25.json. It contains:
- An entry for every product in your Tebex catalog,
{}for products without content yet. _default, the default settings every product uses.- Products you configured earlier that are no longer in the catalog.
- A
cataloglist with each product's name and slug, so you can find products while you edit.
The export reflects the editor, including changes you have not saved yet.
File format
{
"format": "taintless.product-content",
"version": 1,
"exportedAt": "2026-09-25T10:00:00.000Z",
"store": "yourstore",
"products": {
"_default": { "tags": ["ESX"] },
"1234567": {
"tags": ["QBCore", "Qbox", "ESX"],
"badge": "Popular",
"badgeColor": "#FF8E49",
"themeContent": {
"aurora": {
"highlights": [
{ "icon": "🚗", "content": "**3D Showroom:** Inspect vehicles from every angle." }
],
"requirements": [
{ "title": "ox_lib", "url": "https://github.com/overextended/ox_lib/releases/latest" }
]
}
},
"seo": { "title": "FiveM Vehicle Shop Script for Qbox, QBCore & ESX" }
}
},
"catalog": {
"1234567": { "name": "Vehicle Shop", "slug": "vehicle-shop" }
}
}Products are keyed by Tebex package ID. format and version must match the example; exportedAt, store, and catalog are for reference and are not imported.
| Key | Editor field | Value |
|---|---|---|
displayName, displayDescription | Product Copy | Text. Leave empty to use the Tebex name and description. Not allowed on _default. |
tags | Badge & Tags | List of text. Spaces are trimmed and repeated tags are removed. |
badge, badgeTone, badgeColor | Product Badge, Badge color | Text; teal or orange; a hex color such as #FF8E49. |
summary | Summary on Base and Vault | { "text": "…", "badge": "…" } |
features, requirements | Features, Requirements on Base and Vault | Lists of items with icon, content, title, description, and url. |
highlights | TL;DR items that Aurora falls back to | The same item list. |
themeContent.aurora | Summary, Features, Requirements on Aurora | { "highlights": […], "features": […], "requirements": […] } |
freeExternalAction | Free Product Action | { "enabled": true, "url": "https://…", "label": "…" }. Shows on free products only. |
fiveMetricsResource | 5Metrics Resource | Letters, numbers, -, and _. |
resourceName, resourceVersion | Resource Updates | See Resource Update Checks. |
seo | Toolbar → SEO → product | { "title": "…", "description": "…", "ogImageUrl": "…" }. Title up to 70 characters, description up to 320. |
On Aurora, the editor saves TL;DR items, features, and requirements under themeContent.aurora. Aurora shows each of those lists whenever it exists, even when it is empty, and otherwise falls back to the top-level list. Base and Vault use the top-level lists only.
- Aurora renders
content,title, anddescriptionin TL;DR items and features as rich text:**bold**,*italic*,[label](https://…),{color:#41C4C3}text{/color}, and line breaks (\n).{color:accent}follows your brand color. Base and Vault show feature text as plain text. - An
iconis an emoji or an icon name such asshield-check, up to 32 characters. - In a requirement,
titleis the name andurlis the link.
Import
Replace clears missing fields
In Replace products in file mode, every field a listed product leaves out is cleared from the draft. Use Merge when the file holds only the fields you want to change.
- Choose Merge or Replace products in file.
- Select Choose file, or paste the JSON and select Check pasted JSON.
- Review the preview. Each product shows how many fields are added, changed, and removed; select it to see the fields.
- Select Import to draft. The button shows how many products change.
- Check the product pages in the preview, then save.
Press Ctrl + Z to undo the whole import in one step.
| Mode | Fields in the file | Fields the file leaves out | Products not in the file |
|---|---|---|---|
| Merge | Replaced | Kept. Set a field to null to clear it. | Unchanged |
| Replace products in file | Replaced | Cleared | Unchanged |
In Merge mode, objects such as summary and themeContent merge field by field, and a list replaces the whole list. After you save, a field that Replace cleared falls back to the _default settings, and a cleared Aurora list falls back to the top-level list. The preview shows those fields as empty until you save.
What the import checks
The import runs the checks that Save runs, so content it imports passes them again when you save. A product with a problem is skipped and listed with the field to fix, for example requirements[1].url. The other products still import. The import refuses:
- A link that would not work, such as a
javascript:link, or a rich-text link that does not start withhttps://,http://,mailto:,tel:,/,#, or?. - A free product action whose URL is not a full
https://orhttp://address. - An icon that contains
<,>,{, or}, or is longer than 32 characters. - A badge tone other than
tealororange, or a badge color that is not a hex color. - An SEO title longer than 70 characters or a description longer than 320.
- A resource name another product already uses.
- A share image linked from another site. Add it with Import from URL in the SEO panel first.
- A display name, description, free product action, resource setting, or SEO on
_default.
Notes do not stop the import. You get one when a package ID is not in the product list the editor loaded, when a field is not part of the format and is skipped, when a requirement link has no https:// and shows as text, or when the file was exported from another store.
Plan limits
Fields your plan cannot save are marked in the preview and left out of the import.
| Content | Plan |
|---|---|
| Free product action | Every plan |
Product copy, tags, badges, summaries, lists, 5Metrics, resource updates, _default | Starter, Pro, or Ultra |
| Product SEO | Ultra |
Troubleshooting
| Issue | Solution |
|---|---|
| "This is not a product content file" | The file needs "format": "taintless.product-content" and "version": 1. Export a file and compare |
| A product is skipped | Fix the field named next to it and import the file again. Products that already imported show as unchanged |
| A package ID is not in the product list | The content is imported anyway, in case the editor's product list is out of date. If the ID is wrong, correct it and import again |
| Fields are marked Needs Starter or Needs Ultra | Your plan cannot save them, so they were left out |
| Imported product SEO is missing from the SEO panel | The SEO panel shows saved values. Save your changes first |
| Save fails with a resource name error | Each resource name can belong to one product. Clear it on the other product first, see Resource Update Checks |