GunSpec

My Favorites

Save and manage your personal list of favorite firearms. Favorites are scoped to your API key and persist across sessions.

Authentifizierung erforderlichExplorer+

Returns the firearms the calling account has favorited, newest first.

GET/v1/me/favorites

  • stringHeadererforderlich

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

  • integerstandard1

    Page number

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100). Preferred over limit.

    Bereich
    1 – 100
    Beispiel
  • integerstandard20

    Legacy alias for per_page. per_page wins if both are sent.

    Bereich
    1 – 100
    Beispiel

  • FavoriteFirearm[]

    One favorited firearm, enough to render a card without a second call. The field names are snake_case here, like the search results and unlike /v1/firearms. firearm_id and id carry the same slug.

  • string

    URL-safe slug identifying the firearm. The same value as firearm_id.

  • string

    Slug of the firearm, under the favorites table's own column name. The same value as id.

  • string

    When this account favorited it, as the database stamps it (YYYY-MM-DD HH:MM:SS, UTC). The list is ordered by this, newest first.

  • string

    Display name, as the maker writes it.

  • string | null

    Slug of the manufacturer. manufacturerId on the camelCase endpoints.

  • string | null

    Display name of the manufacturer, joined in so a card renders without a second call.

  • string | null

    Slug of the category. categoryId on the camelCase endpoints.

  • string | null

    Display name of the category.

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

  • integer | null

    Year the model was introduced.

  • string | null

    Operating action as stored, underscored, e.g. short_recoil, bolt_action, gas_operated. The full vocabulary is /v1/firearms/action-types; a hyphenated value matches nothing.

  • string | null

    ISO 3166-1 alpha-2 code of the country of origin.

  • string | null

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

  • string | null

    GLB model, or null where none is on file.

  • integer

    How many accounts have favorited this record.

  • InlineMediaItem[]

    Every image this firearm has, silhouette first. Empty when none are on file.

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

  • 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
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Field names are snake_case here (firearm_id, favorited_at, manufacturer_name), like /v1/firearms/search and unlike /v1/firearms. id and firearm_id carry the same slug.

Favorites are sorted by favorited_at descending (most recently added first).

Each API key maintains its own independent favorites list.

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.

Authentifizierung erforderlichExplorer+

Returns just the firearm ids you have favorited. Cheaper than the full list when you only need to render a filled/unfilled state.

GET/v1/me/favorites/ids

  • stringHeadererforderlich

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

  • object

    The response payload.

  • string[]

    Slugs of every firearm you have favorited, newest first.

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

Returns only slugs, not full firearm records. Pair it with GET /v1/firearms/{id} when you need details.

Handy for rendering favorite toggles in a list without fetching every record.

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.

Authentifizierung erforderlichExplorer+

Adds a firearm to your favorites. Idempotent: adding twice is not an error.

POST/v1/me/favorites/{firearmId}

  • stringHeadererforderlich

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

  • stringerforderlich

    Firearm slug

    Beispiel

  • object

    The response payload.

  • boolean

    Always true: the firearm is in your favorites once this returns.

  • string

    Slug of the firearm this row belongs to.

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

Adding an already-favorited firearm is safe and returns the same response.

Use the firearm slug (e.g. glock-17-gen5) as the firearmId path parameter.

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.

Authentifizierung erforderlichExplorer+

Removes a firearm from your favorites.

DELETE/v1/me/favorites/{firearmId}

  • stringHeadererforderlich

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

  • stringerforderlich

    Firearm slug

    Beispiel

  • object

    The response payload.

  • boolean

    Always false: the firearm is not in your favorites once this returns.

  • string

    Slug of the firearm this row belongs to.

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

Removing a firearm that is not currently in your favorites list is safe.

The firearm record itself is not affected; only your personal favorites entry is removed.

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.