GunSpec

Content

Resource class for the GunSpec content feeds. Instantiated internally by the GunSpec client and exposed as client.content.

Authentifizierung optionalExplorer+

List published changelog entries, newest first.

listChangelog(params?: ListChangelogParams): Promise<PaginatedResponse<ChangelogEntry>>
GET/v1/changelog

  • stringHeader

    Optional. Ohne Schlüssel antwortet dieser Endpunkt nach der öffentlichen Richtlinie; ein Schlüssel erhöht Ihre Limits und schaltet planabhängige Felder frei. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • integerstandard1

    Page number, from 1 to 10,000

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100)

    Bereich
    1 – 100
    Beispiel
  • string

    Filter by entry category

    Akzeptiert
    Max. Länge
    60

  • ChangelogEntry[]

    One page of results

  • string

    Slug of the entry, taken from the file it was authored in.

  • string

    Entry headline.

  • string

    Entry body, in Markdown.

  • string | null

    What kind of change: feature, improvement, bugfix, data, breaking.

  • string

    When it was published, ISO 8601.

  • integer

    Integer flag, 1 when the entry is live. The public feed only returns published entries, so this is 1 on every row a consumer sees.

  • string

    When the record was first added, YYYY-MM-DD HH:MM:SS in UTC.

  • string

    When it last changed, ISO 8601.

  • number

    Current page number

  • number

    Items per page

  • number

    Total matching records (Builder and above)

  • 400VALIDATION_ERRORValidation error
  • 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.

Authentifizierung optionalExplorer+

client.content.getChangelogEntry()

Get a single changelog entry.

getChangelogEntry(id: string | number): Promise<APIResponse<ChangelogEntry>>
GET/v1/changelog/{id}

  • stringHeader

    Optional. Ohne Schlüssel antwortet dieser Endpunkt nach der öffentlichen Richtlinie; ein Schlüssel erhöht Ihre Limits und schaltet planabhängige Felder frei. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Changelog entry id

    Beispiel

  • ChangelogEntry

    The response payload

  • string

    Slug of the entry, taken from the file it was authored in.

  • string

    Entry headline.

  • string

    Entry body, in Markdown.

  • string | null

    What kind of change: feature, improvement, bugfix, data, breaking.

  • string

    When it was published, ISO 8601.

  • integer

    Integer flag, 1 when the entry is live. The public feed only returns published entries, so this is 1 on every row a consumer sees.

  • string

    When the record was first added, YYYY-MM-DD HH:MM:SS in UTC.

  • string

    When it last changed, ISO 8601.

  • 400VALIDATION_ERRORValidation error
  • 404NOT_FOUNDResource not found
  • 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.

Authentifizierung optionalExplorer+

List published blog posts, newest first.

listBlogPosts(params?: ListBlogPostsParams): Promise<PaginatedResponse<BlogPost>>
GET/v1/blog

  • stringHeader

    Optional. Ohne Schlüssel antwortet dieser Endpunkt nach der öffentlichen Richtlinie; ein Schlüssel erhöht Ihre Limits und schaltet planabhängige Felder frei. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • integerstandard1

    Page number, from 1 to 10,000

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100)

    Bereich
    1 – 100
    Beispiel
  • string

    Filter by post category

    Max. Länge
    60
    Beispiel

  • BlogPost[]

    A published post. Both endpoints serve the stored row; body is markdown.

  • string

    Opaque post id. A string, not a number: posts are keyed like every other authored record here.

  • string

    URL-safe slug, and what /v1/blog/{slug} addresses.

  • string

    Post headline.

  • string | null

    One-line description, for a card or a feed. Null where the author wrote none.

  • string | null

    The post itself, as markdown.

  • string | null

    Path of the hero image on the assets CDN, or null. Prefix it with the assets host to fetch.

  • string | null

    Editorial category, e.g. guides. Null where the post has none.

  • string

    Always published on these endpoints: a draft is not served publicly.

  • string | null

    When the post was published, which is what the list orders by. Null on a post never given a date.

  • string

    When the post was first written, YYYY-MM-DD HH:MM:SS in UTC. Not the publication date: postedAt is.

  • string

    When the post was last edited, YYYY-MM-DD HH:MM:SS in UTC.

  • number

    Current page number

  • number

    Items per page

  • number

    Total matching records (Builder and above)

  • 400VALIDATION_ERRORValidation error
  • 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.

Authentifizierung optionalExplorer+

client.content.getBlogPost()

Get a single blog post, including its full body.

getBlogPost(slug: string): Promise<APIResponse<BlogPost>>
GET/v1/blog/{slug}

  • stringHeader

    Optional. Ohne Schlüssel antwortet dieser Endpunkt nach der öffentlichen Richtlinie; ein Schlüssel erhöht Ihre Limits und schaltet planabhängige Felder frei. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Blog post slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • object

    The response payload.

  • BlogPost

    A published post. Both endpoints serve the stored row; body is markdown.

  • string

    Opaque post id. A string, not a number: posts are keyed like every other authored record here.

  • string

    URL-safe slug, and what /v1/blog/{slug} addresses.

  • string

    Post headline.

  • string | null

    One-line description, for a card or a feed. Null where the author wrote none.

  • string | null

    The post itself, as markdown.

  • string | null

    Path of the hero image on the assets CDN, or null. Prefix it with the assets host to fetch.

  • string | null

    Editorial category, e.g. guides. Null where the post has none.

  • string

    Always published on these endpoints: a draft is not served publicly.

  • string | null

    When the post was published, which is what the list orders by. Null on a post never given a date.

  • string

    When the post was first written, YYYY-MM-DD HH:MM:SS in UTC. Not the publication date: postedAt is.

  • string

    When the post was last edited, YYYY-MM-DD HH:MM:SS in UTC.

  • 400VALIDATION_ERRORValidation error
  • 404NOT_FOUNDResource not found
  • 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.

Authentifizierung optionalExplorer+

The notices the website is showing right now, best first. Public, cached for a minute at the edge. An empty list means no banner.

listNotices(): Promise<APIResponse<{ notices: SiteNotice[] }>>
GET/v1/notices

  • stringHeader

    Optional. Ohne Schlüssel antwortet dieser Endpunkt nach der öffentlichen Richtlinie; ein Schlüssel erhöht Ihre Limits und schaltet planabhängige Felder frei. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • object

    The response payload.

  • SiteNotice[]

    Published notices inside their display window, best first: highest priority, then newest.

  • string

    Row id of the notice. The website keys its dismissal on this, so a new notice is seen even by a reader who dismissed the last one.

  • string

    Short label shown before the message.

  • string

    The sentence shown in the banner.

  • string

    A second line, shown under the highlight where one is set.

  • NoticeVariant

    How prominently a site notice is shown.

  • string | null

    Text of the call to action, or null when the banner has none.

  • string | null

    Where the call to action goes.

  • integer

    Higher sorts first. Ties break on newest.

  • string | null

    When the notice becomes visible. Null means immediately.

  • string | null

    When it stops being shown. This is why notices are rows rather than copy: an end date is the only version of "take this down later" that does not rely on somebody remembering.

  • 400VALIDATION_ERRORValidation error
  • 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.