Facets
Define the dimensions of fitment for your catalog (e.g., Year, Make, Model).
Targets
Create specific fitment targets representing individual configurations.
Product Linking
Associate fitment targets with products during import.
AI Assistant
How Remark’s assistant uses fitment data to help customers.
Before You Begin
All fitment operations require an integration API key with the
FITMENT_MANAGE permission.
All fitment mutations and queries are served at
https://api.remark.ai/graphql and authenticate via the X-Vendor-Api-Key header. You can also send the key as Authorization: Bearer rmrk_.... Dashboard user tokens aren’t accepted for these operations.
Facets
Facets define the dimensions used to describe a fitment target. For vehicles, typical facets are Year, Make, and Model — but you can define whatever dimensions fit your catalog. Facets are ordered byposition. This ordering determines the cascading selection flow in the AI assistant (e.g., Year first, then Make, then Model).
Create a Facet
List Facets
position.
Update a Facet
input fields (name, slug, position) are optional — only include what you want to change.
Delete a Facet
Targets
A fitment target represents a specific configuration (e.g., “2024 Honda CRF450R”). Each target has anexternalId you control and a set of facet values keyed by facet slug.
Inputs take facetValues as a JSON object keyed by facet slug. Responses return facetValues as a list of { slug, name, value, position }, ordered by facet position.
Create a Target
Partial Targets
A target can leave out facets that don’t affect fit. For example, a part that fits every model of a 2024 Honda can use{"year": "2024", "make": "Honda"}. When a customer’s selections match several targets, the assistant uses the one that defines the most facets. A partial target is ignored when another target has the same values plus at least one more facet.
Bulk Upsert Targets
For loading large sets of targets (up to 5,000 per request), usebulkUpsertFitmentTargets. Targets are matched by externalId — existing targets are updated, new ones are created. Each entry replaces the matching target’s facet values. Omitting label regenerates it from the facet values, replacing any label set earlier. A request with duplicate externalId values is rejected.
List Targets
Update a Target
input fields (externalId, label, facetValues) are optional. Passing facetValues replaces the target’s full set of facet values.
- Omit
labelto leave it unchanged (it auto-regenerates iffacetValuesis updated). - Pass
label: nullto clear it. - Pass
label: "..."to override with a specific value.
Delete a Target
Linking Products
Associate fitment targets with products by includingfitmentTargetExternalIds in your product import payload. This works with both SFTP and direct API imports.
- Product-level: Variants without their own list inherit the product’s targets.
- Variant-level: A variant with its own list fits only those targets, whatever the product-level list says. In the example above,
bp-001-organicfits only2024-honda-crf450r.
[] to clear them, or omit the field to leave them unchanged.
External IDs that don’t match existing fitment targets are ignored without an error. They won’t cause the import to fail. Create your fitment targets before importing products.
AI Assistant Behavior
Once you create at least one fitment facet, the Find fitment action becomes available in the dashboard. Add it to the Actions section of each intent where the assistant should identify the customer’s vehicle.How it works
- Freeform matching: The assistant passes whatever the customer has shared (“my 24 Chevy Silverado 1500”) to the fitment tool in a single call. The tool resolves each freeform value to the catalog’s canonical value, handling aliases and formatting differences.
- Targeted disambiguation: If a value is ambiguous or missing, the tool returns the relevant facet and a short list of candidates for the assistant to clarify with the customer — one round-trip at a time.
- Target resolution: Once all facets match, the tool returns the resolved fitment target, which is remembered for the rest of the conversation.
- Filtered search: Product searches return only compatible products, and only the variants of each product that fit. The assistant mentions the active vehicle filter in results.
Example conversation
Customer: I need brake pads for my 2024 Honda CRF450R Assistant: Got it — I’ll filter results for your 2024 Honda CRF450R. Here are the brake pads that fit your bike: …Disambiguation only happens when needed:
Customer: brake pads for a 2024 Honda Assistant: Which model? Common options: CRF450R, CRF450RX, CRF250R. Customer: CRF450R Assistant: Filtering for your 2024 Honda CRF450R: …
Setup Checklist
1
Create facets
Define your fitment dimensions (e.g., Year, Make, Model) with the correct ordering.
2
Load targets
Bulk upsert your fitment targets with facet values. For large catalogs, batch into requests of up to 5,000 targets each.
3
Link products
Include
fitmentTargetExternalIds in your product import payloads.4
Add the action to an intent
Add Find fitment to the intents that handle parts and compatibility questions.
5
Test
Start a conversation with Remark’s AI assistant and verify the vehicle resolution and filtered search results.