List attachments that fit a firearm
Every catalogued attachment that fits the firearm, grouped by category. A retailer embeds this on a product page with vendor=me&only_offered=true&with_offers=true, which answers "what fits this gun, that I stock, at what price" in one request. Full detail: each with how it fits (direct, through a named adapter, or curated), which interface satisfied it, and a confidence. include=all adds the candidates that do not fit with the reason they were blocked, which is how a builder shows a greyed-out part. Rated items (suppressors, magazines) pass a caliber, bore and minimum-barrel gate that no adapter can bridge.
- stringHeadererforderlich
Ihr API-Schlüssel.
Authorization: Bearer <key>wird ebenfalls akzeptiert.
- stringerforderlich
Firearm slug
- Akzeptiert
- a lowercase slug: letters, digits and hyphens
- Beispiel
- string
Attachment category
- Max. Länge
- 100
- Beispiel
- string
Manufacturer slug
- Max. Länge
- 100
- Beispiel
- stringstandard
compatiblecompatible(default) orallto include blocked candidates withblockedBy- Akzeptiert
- Beispiel
- numberstandard
0Hide fits computed through interfaces below this confidence
- Bereich
- 0 – 1
- Beispiel
- string
Restrict to one seller.
meresolves to the vendor your key belongs to- Max. Länge
- 64
- Beispiel
- boolean
Drop anything that seller does not currently stock. Needs a resolvable
vendor, and yields nothing without one - boolean
Attach each item's live offers under
offers, keyed by attachment id, so price and stock render beside fitment in one call
- object
The response payload.
- object
A firearm, identified by slug and name.
- string
Slug of the firearm.
- string
Display name, as the maker writes it.
- object[]
Platforms this firearm belongs to, whose interfaces it inherits.
- string
Slug of the platform.
- string
Display name, as the maker writes it.
- ResolvedInterface[]
The mount interfaces resolved for this firearm, own rows first, then inherited.
- string
Where on the firearm the interface sits:
muzzle,rear,top,bottom. - string
Id of the interface standard, kind-prefixed, e.g.
thread:1/2x28. Ids are never renamed; new spellings become aliases. - string
Display name, as the maker writes it.
- string
What sort of interface it is:
thread,rail,mag,stock_mount,optic_plate. Not a media kind: the shared registry filled this withsilhouette/renderuntil the consistency check caught it. - InterfaceSource
Where an interface row on a firearm came from.
curatedis a person;inferredis the backfill, capped at 0.6 confidence; the inherited kinds came through the parent chain or a platform. - number
How well evidenced this row is, 0 to 1. A minimum, not an average: an inferred row caps every fit computed through it, and
min_confidenceon the endpoint hides rows below a threshold. - string | null
The parent firearm or platform this interface came from, or null when the firearm declares it itself.
- string | null
Free-text notes that do not belong in a specific field.
- object[]
Fitting attachments grouped by category, so a builder UI renders one panel per slot.
- string
Attachment category this group holds.
- AttachmentFit[]
The rows this response carries.
- object
Fitting attachments per category
- object | null
With
with_offers=true, live offers keyed by attachment id, the same rows/v1/attachments/{id}/offersreturns; null when not requested. - integer
Total records matching the query across every page.
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 404
NOT_FOUND - 429
RATE_LIMITED - 500
INTERNAL_ERROR
Read source and confidence on every item before anything else. source is the weakest evidence behind the fit (curated, universal, inherited:parent, inherited:platform or inferred) and confidence is capped by the weakest interface it went through; via[] names each interface with its own source. inferred means a script derived the interface the fit went through; a product page should say so or hide it.
min_confidence=0.7 is the usual retail setting: it drops every fit that went through a convention row.
A retailer adds vendor=me&only_offered=true&with_offers=true to answer "what fits this gun, that I stock, at what price" in one call.
- Mindeststufe
- Studio+
- Monatskontingent
- 150,000/mo
- Anfragerate
- 120/min
- Tageslimit
- 10,000
Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.