Skip to content

E-Commerce · Beta

Threekit
API integration

Ship E-Commerce features without building the integration. Full Threekit API access via Proxy and 110+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Threekit

Use Cases

Why integrate with Threekit

Common scenarios for SaaS companies building Threekit integrations for their customers.

01

Embed visual CPQ into your sales platform

CPQ and sales tooling vendors can offer customers a native Threekit connection that syncs configurable products, variants, and pricing into a 3D configurator. Reps close complex deals faster with photorealistic quotes tied to your pricing engine.

02

Automate product photography for PIM and DAM users

PIM, DAM, and merchandising platforms can push catalog attributes and options into Threekit, trigger bulk V-Ray or WebGL renders, and pull the resulting imagery back into their systems. Customers eliminate physical photoshoots for every SKU variation.

03

Route configured orders into manufacturing and ERP

ERP, MRP, and shop-floor SaaS can listen to Threekit orders, trigger asset export jobs for CAD/vector files, and generate dynamic PDF spec sheets. This closes the loop between web configurations and production without manual engineering handoff.

04

Personalize marketing with configurator analytics

Marketing automation and CDP vendors can pull Threekit analytics events and views to see exactly which variants and options a shopper explored. Customers can retarget with the specific configuration the buyer designed rather than generic product imagery.

05

Sync pricebooks and variants from commerce backends

E-commerce and ERP platforms can bulk-upsert variant prices and pricebooks into Threekit so the configurator always reflects live pricing, currencies, and promotions. Merchants stop maintaining pricing in two systems.

What You Can Build

Ship these features with Truto + Threekit

Concrete product features your team can ship faster by leveraging Truto’s Threekit integration instead of building from scratch.

01

Two-way catalog and attribute sync

Map your product hierarchy into Threekit catalog items, attributes, and options, and keep them in sync as SKUs change on either side.

02

Bulk variant pricing updates

Upsert or bulk-update Threekit variant prices from a merchant's pricing source so the 3D configurator always displays real-time cost.

03

Automated render pipeline

Trigger V-Ray, WebGL, or all-combinations render jobs on new products and download the finished assets back into your DAM or storage.

04

Order-to-manufacturing automation

Poll Threekit orders, then fire off asset export and export-paths jobs to generate CAD, GLTF, or SVG files and dynamic PDFs for the factory floor.

05

Configurator analytics ingestion

Stream Threekit analytics events and event views into your product to power engagement dashboards, personalization, and retargeting.

06

Asset lifecycle management

List, clone, update, tag, and restore Threekit assets programmatically so customers can manage 3D content from inside your UI.

SuperAI

Threekit AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

threekit_analytics_create_event

Create a Threekit analytics event and return its details. Returns: id, createdAt, openapi, info, servers, security, paths, components, x-readme. Required: eventType, orgId, sessionId.

threekit_analytics_get_event

Get a single Threekit analytics event by id, including the asset name and asset metadata. Returns: id, eventType, eventMetadata, orgId, assetId, assetName, assetMetadata, configId, configuration, userId, sessionId, device, referer, createdAt, openapi, info, servers, security, paths, components, x-readme. Required: event_id.

threekit_analytics_get_event_views

Fetch aggregated view analytics for Threekit events by event type and date range. Returns: count, perPage, page, sort, views, openapi, info, servers, security, paths, components, x-readme. The range parameter supports year, month, and day granularities (defaults to month).

threekit_analytics_generate_reports

Generate a BigQuery export job that produces a CSV report of raw Buyer Analytics data for a given event type and date range. Required: orgId, eventType, startDate, endDate. Date format is YYYY-MM-DD.

list_all_threekit_assets

List Threekit assets for an organization with optional filters by name, type, tags, keywords, and more. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, branch, description, metadata, tags, keywords, publicShare, importedFileId, proxyId, parentFolderId, publishedAt, defaultStageId, defaultCompositeId, deletedBy, nodetags. Max 100 per page; defaults to 30.

get_single_threekit_asset_by_id

Get a single Threekit asset by id. Returns the full asset object including id, name, type, tags, keywords, metadata, publicShare, parentFolderId, and dates. Required: id.

update_a_threekit_asset_by_id

Update a Threekit asset by id with new name, description, tags, keywords, publicShare, or folder assignment. Returns the updated asset object including id, name, type, createdAt, updatedAt, tags, keywords. Required: id.

delete_a_threekit_asset_by_id

Delete a Threekit asset by id. Returns: message. Required: id.

threekit_assets_get_details

Get detailed information about a Threekit asset by export id, including attributes and their values. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, branch, description, metadata, tags, keywords, publicShare, importedFileId, proxyId, parentFolderId, publishedAt, defaultStageId, defaultCompositeId, deletedBy, nodetags, attributes. Required: export_id.

threekit_assets_list_tags

List Threekit asset tags filtered by organization ID and optional query parameters. Returns: tags. Required: orgId.

threekit_assets_list_keywords

List Threekit asset keywords filtered by organization ID and optional query parameters. Returns: keywords. Required: orgId.

threekit_assets_clone

Clone a Threekit asset by creating a new asset as a copy of an existing one. Returns the cloned asset object including id, name, type, orgId, tags, keywords, and metadata. Required: asset_id.

threekit_assets_restore

Restore a deleted Threekit asset by asset ID. Returns the restored asset object including id, name, type, orgId, tags, keywords, and metadata. Required: asset_id. Cannot restore an active asset.

threekit_assets_get_thumbnail

Get a PNG thumbnail image for a Threekit asset by thumbnail ID. Returns a binary PNG image in the response body. Required: thumbnail_id. Optional cache and wait parameters control whether the thumbnail is cached and whether to wait for the latest version.

threekit_catalog_create_assets

Create a new asset in Threekit with attributes, metadata, tags, and keywords. Returns the created asset object including id, name, type, orgId, customId, attributes, tags, keywords, and metadata. Required: name, type, orgId.

list_all_threekit_catalog

List Threekit catalog items with complete attribute and metadata information. Returns per item: id, name, type, orgId, tags, keywords, attributes, publicShare, customId. Max 100 per page.

threekit_catalog_get_asset

Get a single Threekit asset by ID (UUID or customId). Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, branch, description, metadata, tags, tagids, keywords, publicShare, importedFileId, proxyId, customId, asset, attributes. Required: asset_id.

threekit_catalog_overwrite_asset

Overwrite a Threekit asset by ID, replacing its current fields with the values supplied in the request body. This is a full PUT overwrite — omitted body fields are not preserved. Returns the updated asset including id, name, type, description, tags, keywords, attributes, metadata, customId, and asset. Required: asset_id.

threekit_catalog_delete_asset

Delete a Threekit asset by asset_id. Returns: message. Required: asset_id.

create_a_threekit_catalog

Create a new Threekit asset with attributes, metadata, and keywords. Returns the created asset including id, name, type, orgId, createdAt, updatedAt, attributes, and customId. Required: name, type, orgId.

get_single_threekit_catalog_by_id

Get a single Threekit asset by id. Returns the asset object including id, name, type, orgId, createdAt, updatedAt, attributes, tags, and customId. Required: id.

update_a_threekit_catalog_by_id

Overwrite a Threekit catalog asset by id, replacing all writable fields in a single PUT request. Returns the full asset object including id, name, type, createdAt, updatedAt, orgId, description, tags, attributes, and customId. Required: id.

threekit_catalog_partial_update

Partially update a Threekit catalog asset by id, changing only the fields supplied in the request body. Returns the full asset object including id, name, type, createdAt, updatedAt, orgId, description, tags, attributes, and customId. Required: id.

delete_a_threekit_catalog_by_id

Delete a Threekit asset by id. The id can be the Threekit UUID or a user-defined customId. Returns: message. Required: id.

threekit_catalog_bulk_update

Update a Threekit catalog asset by ID using a PATCH request. Returns the updated asset including id, name, type, createdAt, updatedAt, attributes, and customId. Required: asset_id.

threekit_attributes_create_global

Create a global attribute in Threekit. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, description, metadata, tags, tagids, keywords, publicShare, proxyType, proxy. Required: type, orgId.

threekit_attributes_get_global

Get a single global attribute by ID in Threekit. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, description, metadata, tags, tagids, keywords, publicShare, proxyType, proxy. Required: attribute_id.

threekit_attributes_overwrite_global

Overwrite a global attribute by ID in Threekit. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, description, metadata, tags, tagids, keywords, publicShare, proxyType, proxy. Required: attribute_id.

threekit_attributes_delete_global

Delete a global attribute in Threekit by attribute ID. Returns: message. Required: attribute_id.

create_a_threekit_attribute

Create a global attribute in Threekit. Returns the created attribute object including id, name, type, orgId, description, tags, metadata, proxy, and customId. Required: type, orgId.

get_single_threekit_attribute_by_id

Get a single global attribute by id in Threekit. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, description, metadata, tags, tagids, keywords, publicShare, proxyType, proxy. Required: id.

update_a_threekit_attribute_by_id

Update (replace) a global attribute by id in Threekit. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, description, metadata, tags, tagids, keywords, publicShare, proxyType, proxy. Required: id.

threekit_attributes_partial_update

Partially update a global attribute by id in Threekit. Returns: id, name, type, as, createdAt, updatedAt, deletedAt, createdBy, orgId, description, metadata, tags, tagids, keywords, publicShare, proxyType, proxy. Required: id.

delete_a_threekit_attribute_by_id

Delete a global attribute by id in Threekit. Returns: message. Required: id.

threekit_attributes_bulk_update

Update a global attribute in Threekit by attribute ID using a partial PATCH update. Returns the updated attribute object including id, name, type, createdAt, updatedAt, orgId, description, proxyType, and the proxy configuration. Required: attribute_id.

create_a_threekit_asset_attribute

Create a local attribute or add a global attribute to a Threekit asset. The request body is a discriminated union keyed by the type field (String, Number, Boolean, Color, Asset, Array, or Global), each with its own set of type-specific fields. Returns: id, name, type, min, max, step, lockToStep, values, defaultValue. Required: asset_id, name.

get_single_threekit_asset_attribute_by_id

Get a specific attribute on a Threekit asset by id. Returns the full attribute object including id, name, type, createdAt, updatedAt, orgId, createdBy, proxyType, and a nested proxy object with type-specific configuration. Required: asset_id, id.

threekit_asset_attributes_overwrite

Overwrite an attribute on a Threekit asset by asset_attribute_id. If the attribute is a global attribute, only the default value can be overridden. The request body is a discriminated union keyed by the type field. Returns: id, name, type, min, max, step, lockToStep, values, defaultValue. Required: asset_id, asset_attribute_id, name.

update_a_threekit_asset_attribute_by_id

Update an attribute on a Threekit asset by id. If the attribute is a global attribute, only the default value can be overridden. The request body is a discriminated union keyed by the type field. Returns: id, name, type, min, max, step, lockToStep, values, defaultValue. Required: asset_id, id, name.

delete_a_threekit_asset_attribute_by_id

Delete an attribute from a Threekit asset by id. Returns: message. Required: asset_id, id.

threekit_asset_attributes_partial_update

Partially update an attribute on a Threekit asset. If the attribute being updated is a global attribute, only the default value can be overridden. Returns: id, name, type, min, max, step, lockToStep, values, defaultValue. Required: asset_id, id.

create_a_threekit_asset_metadatum

Add a new metadata entry to a Threekit asset. Returns the created metadata entry including its id, name, type, and value. Required: asset_id, name, value.

get_single_threekit_asset_metadatum_by_id

Get a metadata entry on a Threekit asset by id. Returns: id, name, type, value, openapi, info, servers, security, paths, components, x-readme. Required: asset_id, id.

threekit_asset_metadata_overwrite

Overwrite a metadata entry on a Threekit asset by metadata_id. Returns: id, name, type, value. Required: asset_id, metadata_id, name, value.

update_a_threekit_asset_metadatum_by_id

Update a metadata entry on a Threekit asset by id. Returns: id, name, type, value. Required: asset_id, id, name, value.

delete_a_threekit_asset_metadatum_by_id

Delete a metadata entry on a Threekit asset by id. Returns: message. Required: asset_id, id.

threekit_asset_metadata_partial_update

Partially update a metadata entry on a Threekit asset. Returns the updated metadata entry including its id, name, type, and value. Required: asset_id, id. A request body with the fields to update is required.

threekit_products_import_file

Import or update Threekit assets (products and folders) from a JSON payload. Existing assets matching the query are updated rather than duplicated. Returns: products. Required: orgId.

threekit_products_export

Export Threekit assets from an organization as a JSON stream, optionally filtered by tags, keywords, or asset type. Returns: products. Required: format, orgId. Currently the only supported export format is JSON.

list_all_threekit_products

List Threekit products from the token's organization and shared products from public organizations. Returns: id, name, description, orgId, proxyId, metadata, keywords, categories. Filter by orgId, metadata (must be stringified JSON), publicShare, name (exact match), or nameLike (fuzzy match).

get_single_threekit_product_by_id

Get a Threekit product by id. Returns: id, name, description, orgId, proxyId, sku, metadata, keywords, categories. Required: id. Only works for products in the token's organization and shared products from public organizations.

get_single_threekit_catalog_job_by_id

Get a Threekit catalog job by id, including its scheduler state and output results. Returns: id, createdBy, orgId, title, schedulerState, type, createdAt, updatedAt, priority, output. Required: id.

threekit_catalog_assets_upload_images

Upload image assets to Threekit for configurator personalization. Returns an array of import job objects, each containing msg, jobId, and a nested job object with id, status, schedulerState, task progress, and file information. Required: files. Supported filetypes: .svg, .png, .jpeg, .jpg, .ai, .eps, .pdf.

threekit_asset_jobs_import

Import 3D models, images, or fonts into Threekit, creating corresponding assets. Returns: msg, jobId, job. Required: fileId, orgId. The sync parameter is not supported on this endpoint — the API will not wait for the job to finish.

threekit_asset_jobs_export

Export a Threekit asset or product to a supported 3D or image format such as fbx, gltf, usdz, step, stl, or svg. Returns: msg, jobId, job. Required: asset_id, format, title, orgId, configuration.

threekit_asset_jobs_render_webgl

Render a Threekit asset or product as an image using WebGL, with optional stage and configuration. Returns: msg, jobId, job, fileId, _id, runs. Required: asset_id, orgId.

threekit_asset_jobs_render_vray

Render a Threekit asset or product as an image using VRay, with optional stage, configuration, layer, and subset filtering. Returns: msg, jobId, job, fileId, _id, runs. Required: asset_id, orgId.

threekit_asset_jobs_render_all_combinations

Render all possible configuration combinations of a Threekit asset or product. Returns: msg, jobId, job. Required: asset_id, orgId. This API is deprecated and the maximum supported resolution is 4K.

threekit_asset_jobs_bulk_composites

Create bulk composite render jobs in Threekit for all combinations of items and stages, also rendering missing layers. Returns: msg, jobId, job. Required: orgId, assets.

threekit_asset_jobs_bulk_exports

Initiate bulk export jobs in Threekit for all combinations of items and stages; composition nodes are not taken into account. Returns: msg, jobId, job. Required: orgId, assets.

threekit_asset_jobs_data_transfer

Initiate an org data transfer job in Threekit to migrate data between two orgs. Returns: msg, jobId, job. Required: sourceEnv, sourceOrgId, destEnv, destOrgId, destToken, migrationTargets. The clientID for both orgs must be the same.

threekit_asset_jobs_download_results

Download results of a render or export job in Threekit as a zip, or extract source textures from texture assets. Results are cached by default. Returns: msg, jobId, job. Required: jobId.

threekit_asset_jobs_composite

Composite layered renders into a single image in Threekit for a specific asset (max 4K resolution). Returns: msg, jobId, job. Required: asset_id, orgId.

threekit_asset_jobs_export_paths

Export the vector paths for a Threekit asset as SVG or JSON, starting an async export-paths job. Returns: msg, jobId, job. Required: asset_id.

list_all_threekit_catalog_items

List all Threekit catalog items, optionally filtered by archived status. Returns: id, orgId, name, label, customId, description, attributes, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. The archived and includeArchived parameters are mutually exclusive.

create_a_threekit_catalog_item

Create a new catalog item in Threekit. Returns the created item including id, orgId, name, label, customId, description, attributes, createdAt, updatedAt. Required: name.

get_single_threekit_catalog_item_by_id

Get a single Threekit catalog item by its Threekit UUID or custom ID. Returns: id, orgId, name, label, customId, description, attributes, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. Required: id.

update_a_threekit_catalog_item_by_id

Update a Threekit catalog item by its Threekit UUID or custom ID, including overwriting associated Attributes. Returns the updated item including id, orgId, name, label, customId, description, attributes, createdAt, updatedAt. Required: id.

delete_a_threekit_catalog_item_by_id

Delete a Threekit catalog item by its Threekit UUID or custom ID. Returns an empty 204 response on success. Required: id.

threekit_catalog_items_list_attributes

List all attributes associated with a Threekit catalog item, returning fully populated attribute objects (not just IDs). Returns: itemId, attributes, count. Required: item_id.

threekit_catalog_items_add_attribute

Associate a new attribute to a Threekit catalog item by specifying the attribute's ID or custom ID. Returns: itemId, attribute. Required: item_id, attributeId.

threekit_catalog_items_remove_attribute

Dis-associate an attribute from a Threekit catalog item, specified by their ID or custom ID. Returns an empty 204 response on success. Required: item_id, attribute_id.

list_all_threekit_catalog_attributes

List Threekit catalog attributes, optionally filtering by archived status. Returns: orgId, id, name, label, customId, description, options, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. The archived and includeArchived query parameters are mutually exclusive. Max 100 per page.

create_a_threekit_catalog_attribute

Create a new Threekit catalog attribute. Returns the created attribute including id, name, label, customId, description, options, createdAt, and updatedAt. Required: name.

get_single_threekit_catalog_attribute_by_id

Get a single Threekit catalog attribute by its Threekit UUID or custom ID. Returns: orgId, id, name, label, customId, description, options, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. Required: id.

update_a_threekit_catalog_attribute_by_id

Update a Threekit catalog attribute by its Threekit UUID or custom ID. Passing the options array overwrites associated Option UUIDs. Returns the updated attribute including id, name, label, customId, description, options, createdAt, updatedAt. Required: id.

delete_a_threekit_catalog_attribute_by_id

Delete a Threekit catalog attribute by its Threekit UUID or custom ID. Returns an empty 204 response on success. Required: id.

threekit_catalog_attributes_list_options

List all fully populated options associated with a Threekit catalog attribute by its ID or custom ID. Returns: attributeId, options, count. Required: attribute_id.

threekit_catalog_attributes_add_option

Associate a new option to a Threekit catalog attribute by specifying the option's Threekit UUID or custom ID. Returns: attributeId, option. Required: attribute_id, optionId.

threekit_catalog_attributes_remove_option

Dis-associate an option from a Threekit catalog attribute by specifying each entity's ID or custom ID. Returns an empty 204 response on success. Required: attribute_id, option_id.

list_all_threekit_catalog_options

List all Threekit catalog Options with optional filtering by archived status. Returns: orgId, id, name, label, customId, description, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. Specify only one of archived or includeArchived; they are mutually exclusive.

create_a_threekit_catalog_option

Create a new Option in the Threekit catalog. Returns: orgId, id, name, label, customId, description, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. Required: name.

get_single_threekit_catalog_option_by_id

Get a single Threekit catalog Option by its id or customId. Returns: orgId, id, name, label, customId, description, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. Required: id.

update_a_threekit_catalog_option_by_id

Update a Threekit catalog Option by its id or customId. Returns: orgId, id, name, label, customId, description, createdAt, createdBy, updatedAt, updatedBy, deletedAt, deletedBy. Required: id.

delete_a_threekit_catalog_option_by_id

Delete a Threekit catalog Option by its id or customId. Returns an empty 204 response on success. Required: id.

list_all_threekit_catalog_variants

List all variants for a Threekit catalog item by item_id. Returns: id, customId, label, itemId, configuration, orgId, createdAt, createdBy, updatedAt, updatedBy, status, metadata. Required: item_id. Supports filtering by attributeOptions, customIdLike, and status.

threekit_catalog_variants_generate

Generate all variants for a Threekit catalog item by item_id, overwriting any invalid pre-existing variants. Returns: totalVariants. Required: item_id.

get_single_threekit_catalog_variant_by_id

Get a single variant for a Threekit catalog item by item_id and id. Returns: id, customId, label, itemId, configuration, orgId, createdAt, createdBy, updatedAt, updatedBy, status, metadata. Required: item_id, id.

update_a_threekit_catalog_variant_by_id

Update a variant for a Threekit catalog item by item_id and id. Returns the updated variant including id, customId, label, itemId, configuration, orgId, status, metadata, createdAt, updatedAt. Required: item_id, id.

list_all_threekit_variant_prices

List all prices for a Threekit catalog variant. Returns: currency, amount. Required: item_id, variant_id.

get_single_threekit_variant_price_by_id

Get a specific price entry for a Threekit catalog variant by currency code. Returns: currency, amount. Required: item_id, variant_id, id (currency code).

threekit_variant_prices_upsert

Create or update a specific price entry for a Threekit variant by currency code. Returns: currency, amount. Required: item_id, variant_id, price_id (the three-letter ISO currency code), and amount. The amount must be between 0 and 99999999.99.

delete_a_threekit_variant_price_by_id

Delete a specific price entry for a Threekit variant by currency code. Returns an empty 204 response on success. Required: item_id, variant_id, id (the three-letter ISO currency code).

threekit_variant_prices_bulk_update

Set (overwrite) all prices for a Threekit catalog variant with the provided price entries. Returns the updated prices array including currency and amount for each entry. Required: item_id, variant_id, prices.

list_all_threekit_catalog_variant_content

List all content attached to a Threekit catalog item variant. Returns: id, orgId, variantId, name, format, fileId, contentKey, downloadUrl, createdAt, createdBy, updatedAt, updatedBy. Required: item_id, variant_id.

threekit_catalog_variant_content_attach

Attach a piece of content to a Threekit catalog item variant by file ID. Returns: id, orgId, variantId, name, format, fileId, contentKey, downloadUrl, createdAt, createdBy, updatedAt, updatedBy. Required: item_id, variant_id, fileId.

get_single_threekit_catalog_variant_content_by_id

Get a single piece of content attached to a Threekit catalog item variant by its content key (id). Returns: id, orgId, variantId, name, format, fileId, contentKey, downloadUrl, createdAt, createdBy, updatedAt, updatedBy. Required: item_id, variant_id, id.

delete_a_threekit_catalog_variant_content_by_id

Delete a piece of content from a Threekit catalog item variant by its content key (id). Returns an empty 204 response on success. Required: item_id, variant_id, id.

create_a_threekit_pdf

Create a PDF in Threekit from a Liquid template file populated with JSON input data. Returns the generated PDF as a binary file (content-type application/pdf). Required: data, template.

create_a_threekit_data_table

Create a new Data Table in Threekit by uploading CSV content along with column definitions that tell the platform how to interpret each column. Returns: id, name, createdAt. Required: name, columnInfo, file. Supported column types are String, Number, and Asset.

list_all_threekit_jobs

List Threekit jobs from the token's organization, optionally filtered by status. Returns: id, createdAt, createdBy, orgId, priority, schedulerState, status, taskCount, taskProgress, taskResultFailures, taskResultSuccesses, taskStatusPending, taskStatusRunning, taskStatusStopped, title, type, updatedAt. Max 100 entries per page.

list_all_threekit_pricebooks

List pricebooks for a Threekit organization. Returns: id, orgId, name, createdBy, currencies, createdAt, deletedAt. Required: org_id.

get_single_threekit_pricebook_by_id

Get a single Threekit pricebook by id. Returns: id, orgId, name, createdBy, currencies, createdAt, deletedAt, openapi, info, servers, security, paths, components, x-readme. Required: org_id, id.

list_all_threekit_orders

List Threekit orders filtered by query parameters such as orgId, shortId, originOrgId, or platform. Returns each order's id, shortId, status, createdAt, updatedAt, orgId, originOrgId, customerId, metadata, platform, items, cart, and derivative.

list_all_threekit_branches

List branches in a Threekit org. Returns: name, updatedAt, updatedBy, orgId, commitHash, openapi, info, servers, paths, components, x-readme.

delete_a_threekit_branch_by_id

Delete a branch in a Threekit org, permanently removing all its content. This action cannot be reversed. Returns: message, openapi, info, servers, paths, components, x-readme. Required: id.

list_all_threekit_tags

List Threekit tags filtered by organization and optional criteria such as name, type, and archived status. Returns: id, name, type, createdAt, updatedAt, deletedAt, createdBy, orgId. Required: orgId. Max 100 per page.

create_a_threekit_tag

Create a new Threekit tag with a name and type. Returns: id, name, type, createdAt, updatedAt, deletedAt, createdBy, orgId. Required: name, type.

update_a_threekit_tag_by_id

Update a Threekit tag by id. Returns: id, name, type, createdAt, updatedAt, deletedAt, createdBy, orgId. Required: id, orgId.

get_single_threekit_file_by_id

Get a Threekit file by its file ID. Returns: message, files, openapi, info, servers, security, paths, components, x-readme. Required: id.

Why Truto

Why use Truto’s MCP server for Threekit

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Threekit in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Threekit account

Use Truto’s frontend SDK to connect your customer’s Threekit account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Threekit

Truto’s Proxy API is a 1-to-1 mapping of the Threekit API. You call us, we call Threekit, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Threekit’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Threekit on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users authenticate their Threekit account?

Threekit uses API tokens scoped to an organization and environment. Truto handles token capture, storage, and injection so your users just paste credentials once and your product calls the integration through Truto.

Which Threekit resources can I read and write through Truto?

Truto exposes tools across catalogs, catalog items, attributes, options, variants, variant prices, assets, asset attributes, asset metadata, products, orders, pricebooks, branches, tags, jobs, and analytics — covering the core surface area needed for CPQ, PIM, commerce, and manufacturing integrations.

Can I trigger and monitor long-running render or export jobs?

Yes. You can kick off jobs like V-Ray renders, WebGL renders, all-combinations renders, bulk composites, bulk exports, and export paths, then list jobs, fetch a specific catalog job by ID, and download results when they complete.

How do I keep pricing in sync across many variants?

Use the variant prices tools to upsert individual prices or bulk-update entire pricebooks. This lets you push pricing changes from an ERP or commerce backend into Threekit without iterating variant by variant in your own code.

Can I access buyer interaction data from the configurator?

Yes. The analytics tools let you create events, fetch events, retrieve event views, and generate reports, so you can pull granular interaction data on which variants and options shoppers explored.

Does Truto normalize Threekit into a unified E-Commerce schema?

Not yet — this integration is available as direct tool calls to Threekit's native endpoints. If you need a unified schema across multiple visual commerce or e-commerce providers, Truto can build it on request based on your use case.

Threekit

Get Threekit integrated into your app

Our team understands what it takes to make a Threekit integration successful. A short, crisp 30 minute call with folks who understand the problem.