Resolve a Name
Turns a name as somebody actually writes it ("G19 gen 5 MOS", "AK-47", "H&K MP5") into a single catalog id, or says why it cannot.
- stringHeadererforderlich
Ihr API-Schlüssel.
Authorization: Bearer <key>wird ebenfalls akzeptiert.
- stringerforderlich
The name to resolve, up to 200 characters.
- Max. Länge
- 200
- Beispiel
- object
What one query resolved to.
- string
The query this result answers, echoed back so a batch response can be matched to its request.
- string
One of
resolved(exactly one record),ambiguous(several equally good, none chosen) ornot_found. - string | null
The resolved catalog id. Null on
ambiguousandnot_found, since an ambiguous query is deliberately not decided for you. - string | null
How the resolution was made, or null when nothing resolved. Never
fuzzy: a suggestion is not a resolution. - number
Confidence in the resolution, 0 to 1. Derived from how much of the query a catalogued spelling accounted for and how strong that spelling is as evidence.
- string[]
The words of the query a catalogued spelling accounted for.
- string[]
The words it did not. Reported rather than guessed at: a variant we do not hold appears here instead of being silently dropped.
- object[]
Other records this query could mean, best first. On
ambiguousthese are the tied candidates and choosing between them is yours. - string
The catalog id of this candidate.
- string
The catalogued name of this candidate.
- string | null
The maker, or null where the record has none.
- string
How this candidate was matched. One of
slug,name,alternate,shorthand,base(the name with its maker removed),family(the model designation with its trailing descriptor removed, e.g.M4fromM4 Carbine) orfuzzy. - string | null
The catalogued spelling that matched, or null for a fuzzy suggestion.
- number
Confidence in this candidate, 0 to 1. Always 0 for a fuzzy suggestion, which is offered rather than scored.
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 429
RATE_LIMITED - 500
INTERNAL_ERROR
Requires an API key with Builder tier or higher.
Call this before anything else when you are starting from text rather than from an id. Every other endpoint takes a catalog id; this is the only one that takes a name as somebody wrote it.
It is not search. /v1/firearms/search ranks a page of records about a query and has no notion of certainty. This answers which record a query is, and tells you when it cannot.
status: "ambiguous" is an answer, not a failure. "Glock 19" is three generations, so firearmId is null and all three come back in alternatives for you to choose between. Treating an ambiguous result as a resolution is how an agent ends up quoting the wrong barrel length.
Words the resolver could not place come back in unresolvedTokens rather than being dropped. A variant we do not hold appears there, which is more useful than being handed the base model as though it were the answer.
A fuzzy candidate is a suggestion offered when nothing matched at all. It always scores 0 and never appears as a resolution.
A query that matches nothing is a 200 with status: "not_found", not a 404. The request was answerable; the answer is that we hold no such record.
- 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.