GunSpec

Interfaces

Interface standards resource for the GunSpec SDK. Wraps /v1/interfaces: the mount vocabulary every fit is computed from (thread:1/2x28, mag:stanag, rail:picatinny). Listing it is open; asking which firearms expose a standard is Studio.

Authentifizierung erforderlichExplorer+

Every standard the vocabulary knows, optionally one kind only. Answers 304.

list(params?: ListInterfacesParams): Promise<APIResponse<InterfaceStandard[]>>
GET/v1/interfaces

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • string

    One kind only

    Max. Länge
    40
    Beispiel

  • InterfaceStandard[]

    The response payload.

  • string

    Kind-prefixed standard id, e.g. thread:1/2x28. URL-encode it when addressing /v1/interfaces/{id}/firearms.

  • string

    What sort of interface it is: thread, rail, mag, stock_mount, optic_plate.

  • string

    Display name, as the maker writes it.

  • string[]

    JSON array of alternative spellings of this standard id, as a string. Ids are never renamed; a new spelling becomes an alias.

  • string | null

    Free-text notes that do not belong in a specific field.

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Explorer+
Monatskontingent
200/mo
Anfragerate
10/min
Tageslimit
50

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.

Authentifizierung erforderlichStudio+

Firearms that expose a standard at some position. Studio. The id is URL-encoded for you: thread:1/2x28 carries a colon and a slash that would otherwise be read as path separators.

getFirearms(id: string, params?: PaginationParams): Promise<PaginatedResponse<InterfaceFirearm>>
GET/v1/interfaces/{id}/firearms

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Interface standard id. URL-encode it in the path: the colon and any slash must be escaped, so thread:1/2x28 is sent as thread%3A1%2F2x28

    Akzeptiert
    a kind-prefixed standard id such as thread:1/2x28
    Beispiel

  • integerstandard1

    Page number, from 1 to 10,000

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100)

    Bereich
    1 – 100
    Beispiel

  • object[]

    One page of results

  • string

    Slug of the firearm exposing the standard.

  • string

    Display name, as the maker writes it.

  • string

    Where on the firearm the interface sits: muzzle, rear, top, bottom.

  • InterfaceSource

    Where an interface row on a firearm came from. curated is a person; inferred is 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_confidence on the endpoint hides rows below a threshold.

  • ManufacturerRef | null

    Who makes it.

  • string | null

    Display name of the firearm category.

  • InlineMediaItem[]

    Renders and photographs of the firearm, ordered so images[0] is the frame to show at rest.

  • integer

    Autoincrementing image id.

  • string

    Absolute, directly fetchable URL.

  • MediaKind

    What kind of asset a media row is.

  • 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.

  • integer | null

    Pixel height, where it is known.

  • string | null

    Line-art silhouette, or null where none has been drawn.

  • integer

    Year it entered production or service. Null where the date is disputed or unknown.

  • number

    Current page number

  • number

    Items per page

  • number

    Total matching records (Builder and above)

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 404NOT_FOUNDResource not found
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

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.