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 usUse Cases
Why integrate with Threekit
Common scenarios for SaaS companies building Threekit integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Configurator analytics ingestion
Stream Threekit analytics events and event views into your product to power engagement dashboards, personalization, and retargeting.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
From the Blog
Threekit integration guides
Deep dives, architecture guides, and practical tutorials for building Threekit integrations.
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.