Get Firearm
Returns the full specification for a single firearm, including its manufacturer, category, calibers, images, and known users.
- stringHeadererforderlich
Ihr API-Schlüssel.
Authorization: Bearer <key>wird ebenfalls akzeptiert.
- stringerforderlich
Resource slug ID
- Akzeptiert
- a lowercase slug: letters, digits and hyphens
- Beispiel
- FirearmDetail
A firearm as stored: every specification column we serve, with no nested relations.
FirearmDetailis this plus them, and/v1/firearms/{id}/family-treereturns this shape forcurrent, since the walk reads the row and does not load the relations. - integer
Integer flag,
1when a 3D model is on file. Stored as the database holds it rather than as a boolean. - string | null
Line-art silhouette, or null where none has been drawn.
- string | null
GLB model, or null where none is on file.
- string | null
The ammunition load ballistics figures are quoted against, where one is nominated.
- number | null
Muzzle velocity in metres per second exactly as the source stated it, kept beside our own figure so a reader can see what was quoted and what was derived.
- number | null
Muzzle energy in joules exactly as the source stated it.
- number | null
Effective range in metres exactly as the source stated it.
- number | null
Maximum range in metres exactly as the source stated it.
- string | null
Where the ballistics figures came from, named in prose.
- string | null
URL of the ballistics source, where it is a page rather than a book.
- string
URL-safe slug identifying the firearm, e.g.
glock-17-gen5. Stable: it is what a mirror keys on. - string
Display name, as the maker writes it.
- string
Slug of the manufacturer that makes it. Resolve against
/v1/manufacturers/{id}. - string
Slug of the category it belongs to. Resolve against
/v1/categories. - string | null
The firearm this one is a variant of, or null when it is not a variant. Variant relationships are what
firearm.variant.updatedwebhooks and/v1/firearms/{id}/variantsfollow. - string | null
How this record differs from its parent:
optics_ready,compact,threadedand so on. Null when the record has no parent. - integer | null
Year it entered production or service. Null where the date is disputed or unknown.
- integer | null
Year production ended, or null while it is still made.
- FirearmStatus | null
Production status, one of
in_production,discontinued,out_of_production,in_service,limited_production,prototype. Discontinued records are kept deliberately: a rifle built in 2004 wears parts nobody sells today. - string | null
ISO 3166-1 alpha-2 code of where it was designed, e.g.
AT. - number | null
Unloaded weight in grams, without magazine.
- number | null
Loaded weight in grams, with a full magazine.
- number | null
Overall length in millimetres, stock extended where it folds or collapses.
- number | null
Barrel length in millimetres, measured from the breech face.
- number | null
Height in millimetres, including sights and a fitted magazine.
- number | null
Width in millimetres at the widest point.
- number | null
Distance between front and rear iron sights in millimetres. Null on a record with no iron sights.
- string | null
How the action cycles:
short_recoil,gas_operated,blowback,bolt_actionand so on. An open vocabulary: the values in use are published on the schema asx-gunspec-vocabulary, andGET /v1/firearms/action-typesis the live list. - string | null
What releases the striker or hammer:
striker_fired,hammer_fired. - string | null
Trigger arrangement:
single_action,double_action,safe_action. - number | null
Trigger pull weight in newtons. Divide by 4.448 for pounds-force.
- integer | null
Rounds in the standard magazine. Null where the firearm is not magazine-fed.
- string | null
Magazine pattern:
detachable_box,internal,drum,belt. - number | null
Muzzle velocity in metres per second, for the default load.
- number | null
Muzzle energy in joules, for the default load.
- number | null
Effective range in metres against a point target.
- number | null
Maximum range in metres. Where the projectile lands, not where it is useful.
- integer | null
Cyclic rate in rounds per minute. Null on anything that is not automatic.
- string | null
Rifling description, e.g.
6 grooves, right-hand twist. - number | null
Rifling twist rate in millimetres per turn. Divide by 25.4 for inches.
- integer | null
Number of grooves cut in the bore.
- string | null
What the frame or receiver is made of.
- string | null
What the slide is made of. Null on anything without one.
- string | null
What the barrel is made of.
- string | null
What the stock or furniture is made of.
- string | null
Surface finish, e.g.
nitride,parkerized,cerakote. - string | null
JSON array of safety mechanisms
- string | null
JSON array of features
- string | null
JSON array of feed systems
- integer | null
Editorial game statistic, 0-100. Not a measured figure. These are balance numbers for game use and are not derived from the ballistics above.
- integer | null
Editorial game statistic, 0-100. Not a measured figure.
- integer | null
Editorial game statistic, 0-100. Not a measured figure.
- integer | null
Editorial game statistic, 0-100. Not a measured figure.
- integer | null
Editorial game statistic, 0-100. Not a measured figure.
- integer | null
Editorial game statistic, 0-100. Not a measured figure.
- integer | null
Editorial game statistic, 0-100. Not a measured figure.
- integer | null
Editorial game statistic, 0-100. Not a measured figure.
- string | null
Prose summary of the record, where one has been written.
- string | null
Free-text notes that do not belong in a specific field.
- string | null
Person or team credited with the design, where it is known.
- number | null
Length with stock folded (mm)
- string | null
JSON array of alternate names/designations
- string | null
JSON array of firing modes
- string | null
JSON array of conflict objects with name, years, and sides
- string | null
JSON object with estimated_total, production_years, and notes
- string | null
Historical trivia / game-dev flavor text
- string | null
JSON array of source URLs the record was compiled from. Check a specific figure against these rather than against
dataConfidence. - number | null
How completely the record is specified and how well it is sourced, 0 to 1. A record-level completeness and provenance measure, not a per-field probability of correctness. Use it to rank and triage; use
sourcesto verify an individual number. - string
When the record was first added,
YYYY-MM-DD HH:MM:SSin UTC. - string
When a field we serve last changed. Maintained by the database rather than by whatever wrote the row, so it moves for a corrected specification and does not move for a re-run of the importer.
- string | null
Opaque fingerprint of this record. It changes when and only when a field we serve changes, so a client holding the same value already has the record and need not fetch it. Equality is the only supported operation: do not parse it, and do not assume how it is computed. Null means the record has not been written since versioning began, not that it is unchanged.
- Provenance
Where a record's figures came from and how far they have been checked, in one place.
sourcesare the pages consulted; check a specific figure against those.sourceKindssays what each page is andbestSourceKindthe strongest of them, on the hierarchySourceKinddefines: a maker or standards-body page is evidence for a figure, a retailer or forum page is evidence the item exists.dataConfidenceis the 0 to 1 score set from what was actually sourced and never raised by hand.verifiedAtandverifiedFieldssay when a source was last read against the record and which fields it stated; null means the row is still seed knowledge.updatedAtandversionare the same cache signals the record carries at the top level. - string[]
The pages consulted when the record was compiled, as an array. Check a specific figure against these rather than against
dataConfidence. - object[]
What each cited page is, in
sourcesorder, on theSourceKindhierarchy. A host not in the source map isother, never guessed. - SourceKind | null
The strongest kind among the citations, or null when nothing is cited.
manufacturerorstandards_bodymeans a figure can be checked against an authority;retailerorcommunityalone means the record is still supported by copies of copies. - number | null
The 0 to 1 score set from what was actually sourced, never raised by hand. See the confidence bands in the docs.
- string | null
When a source was last read against this record. Null means the row is still seed knowledge.
- string[]
Which fields the source stated, as an array. Everything else on a verified row is still unverified. Null where no source has been read.
- string | null
Cartridges only: the page the drawing figures were taken from. Null on every other kind of record.
- string
When a served column last changed; the same value the record carries at the top level.
- string | null
The record's content version, equal to the top-level
version; equal versions mean equal data. - Manufacturer | null
Null when the record names a manufacturer id the catalog no longer holds.
- Category | null
Null when the record names a category id the catalog no longer holds.
- FirearmCaliber[]
Every cartridge this firearm is chambered for, primary first.
- string
Slug of the cartridge. Resolve against
/v1/calibers/{id}. - integer
Integer flag,
1on the chambering the firearm is normally sold in. A firearm may be chambered for several cartridges but has at most one primary. - string
Display name, as the maker writes it.
- string | null
NATO designation where the cartridge has one, e.g.
9mm NATO. Null otherwise. - number | null
Bullet diameter in millimetres.
- number | null
Case length in millimetres.
- string | null
Head type:
rimmed,rimless,semi_rimmed,rebated_rim,belted, plus historical values likecap_and_ball. Not the broad class. The registry saidpistol/rifle/shotgununtil the column was read, and it holds neither. - number | null
Case neck outside diameter in millimetres.
- number | null
Bottleneck cases only.
- number | null
Case base diameter in millimetres, ahead of the extractor groove.
- number | null
Rim diameter in millimetres.
- number | null
Rim thickness in millimetres.
- FirearmImage[]
Every image on file, silhouette first. Each carries an absolute, directly fetchable
url. - integer
Autoincrementing image id. Numeric, unlike the catalog slugs.
- string
Slug of the firearm this row belongs to.
- string
Absolute, directly fetchable URL.
- ImageType | null
Role of the image:
primary,gallery,thumbnail,svg,render. - string | null
Where the record came from: a curated entry, an inference, or an import.
- string | null
Licence the asset is held under, where one is recorded.
- MediaKind | null
What the asset is:
silhouette,render,photo,schematic,model./v1/firearms/{id}/media/{selector}addresses an asset by this. - string | null
Where the bytes live:
cdnfor a static path,r2for an upload we serve. - string | null
Who made the asset, where it is credited.
- string | null
Page the asset or document was taken from.
- string | null
Alt text, where one has been written. Null otherwise, so do not render an empty string.
- integer | null
Pixel width, where it is known.
- FirearmUser[]
Forces and agencies that have adopted it.
- integer
Autoincrementing row id.
- string
Slug of the firearm this row belongs to.
- string
The force, agency or organisation that adopted it.
- string | null
What kind of user:
military,police,civilian. - string | null
ISO 3166-1 alpha-2 code of the user's country.
- integer | null
Year of adoption, where it is known.
- string | null
What that user calls it, where it differs from the maker's name.
- FirearmSchematic[]
Exploded-view and parts diagrams on file, empty where none have been sourced.
- integer
Autoincrementing schematic id.
- string
Slug of the firearm this row belongs to.
- string
What the document is called.
- SchematicType
What a schematic document is.
- string
Absolute, directly fetchable URL.
- string | null
File format, e.g.
pdf. - string | null
Revision of the document, where the publisher versions it.
- string | null
Publisher of the document, often but not always the maker.
- string | null
Where the document came from.
- string | null
Page the asset or document was taken from.
- string | null
Who made the asset, where it is credited.
- string | null
Licence the asset is held under, where one is recorded.
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 404
NOT_FOUND - 429
RATE_LIMITED - 500
INTERNAL_ERROR
Requires an API key with Builder tier or higher.
alternateNames, firingModes, conflicts, and productionNumbers are JSON-encoded strings. Parse them client-side.
conflicts contains objects with name, years, and sides (array of belligerent strings).
productionNumbers contains estimated_total (number), production_years (string), and notes (string).
The schematics array (blueprints, spec sheets) is included only for Studio tier or higher; it is omitted otherwise. See the Schematics endpoint for the full document shape.
- Mindeststufe
- Builder+
- Monatskontingent
- 25,000/mo
- Anfragerate
- 60/min
- Tageslimit
- 2,000
Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.
Dieser Aufruf beantwortet bedingte Anfragen. Speichern Sie das ETag einer Antwort und senden Sie es als If-None-Match zurueck: ein unveraenderter Datensatz liefert 304 Not Modified ohne Body. Das zaehlt auf Ihr Minutenlimit, aber nicht auf Ihr Tageskontingent.