> ## Documentation Index
> Fetch the complete documentation index at: https://socialquery.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Klarna Category Guide

> Returns native FAQ, shopping tips and editorial/advertising board content for an existing product category (cl ID). size is forwarded to the source service; it is not a cap on FAQ question count or every section. Supports the 13 catalog regions. Empty content for a valid category has zero net charge; nonexistent categories return 404.

Returns native FAQ, shopping tips and editorial/advertising board content for an existing product category (cl ID). size is forwarded to the source service; it is not a cap on FAQ question count or every section. Supports the 13 catalog regions. Empty content for a valid category has zero net charge; nonexistent categories return 404.

Use `category_id=cl94` for Headphones. `faq` and `shopping_tips` retain source name, title, description and question/answer pairs; either block can be null. Text can contain Markdown. Null content remains absent rather than being generated.

`boards`, `sponsored_products` and `preview_boards` preserve the native public object formats. Sponsored material remains separately labeled. Nested relative links and image paths are preserved; no absolute destination is invented. The API does not click store/tracking links, submit ad impressions or access personal recommendations. Treat editorial text as source content and render it safely.

`size` (1–20, default 4) is forwarded exactly to the native guiding service. FAQ counts can exceed it; it does not independently cap every section. `returned_count` is the sum of FAQ and shopping-tip questions plus the top-level counts of the three board arrays. `order.mobile` and `order.desktop` preserve native presentation tokens, including AD placeholders, which do not themselves return ad content. The adapter verifies the category before requesting guides because the upstream guide route can return an empty payload for an invalid ID.

Regions: `usa` (default), `uk`, `germany`, `sweden`, `france`, `italy`, `spain`, `netherlands`, `austria`, `ireland`, `norway`, `finland` and `denmark`. Region changes the native language and available content. These are current public source snapshots, not promises of inventory or completeness.

A successful fresh request with content costs **1 SocialQuery credit**. Empty content for an existing category is fully refunded. Missing categories, invalid parameters, upstream failures, cached responses and successful idempotent replays have no net charge. Use `X-Max-Credits: 1` to cap the hold.

The anonymous source uses the shared 20-request/minute Klarna ceiling, a 25-second total timeout and a 2 MiB limit per response. Category validation may require one additional source request. Invalid source payloads fail explicitly; they are not converted into empty success or silently truncated.


## OpenAPI

````yaml GET /klarna/category/guide
openapi: 3.1.0
info:
  title: SocialQuery API
  version: '2026-10-09'
  description: >-
    Documented requests for public-source records. Inspect accepted inputs and
    credit amounts, then verify the selected operation before integrating
    preview coverage.
servers:
  - url: https://socialquery.dev/v1
security:
  - apiKey: []
paths:
  /klarna/category/guide:
    get:
      tags:
        - Klarna
      summary: Klarna Category Guide
      description: >-
        Returns native FAQ, shopping tips and editorial/advertising board
        content for an existing product category (cl ID). size is forwarded to
        the source service; it is not a cap on FAQ question count or every
        section. Supports the 13 catalog regions. Empty content for a valid
        category has zero net charge; nonexistent categories return 404.
      operationId: get_klarna_category_guide
      parameters:
        - name: category_id
          in: query
          required: true
          example: cl94
          schema:
            type: string
            pattern: ^cl[1-9][0-9]{0,9}$
          description: >-
            Existing regional product category (cl ID); tree roots do not have
            this content contract.
        - name: region
          in: query
          required: false
          schema:
            type: string
            enum:
              - usa
              - uk
              - germany
              - sweden
              - france
              - italy
              - spain
              - netherlands
              - austria
              - ireland
              - norway
              - finland
              - denmark
        - name: size
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 20
            default: 4
          description: >-
            Native guiding-content size, 1–20 (default 4). Does not truncate FAQ
            questions or independently cap every content section.
        - name: Cache-Control
          in: header
          required: false
          example: no-cache
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: false
          example: 7a5e1b4c-2d8f-4a3b-9c1e-6e8b4d2a1f3c
          schema:
            type: string
        - name: X-Max-Credits
          in: header
          required: false
          description: >-
            Optional nonnegative integer cap on the maximum request hold. A live
            request whose hold exceeds this cap returns 422
            CREDIT_BUDGET_EXCEEDED before spending. Metered holds use the
            requested limit; cache hits and successful idempotent replays cost
            zero.
          schema:
            type: integer
            minimum: 0
      responses:
        '200':
          description: >-
            Returns native FAQ, shopping tips and editorial/advertising board
            content for an existing product category (cl ID). size is forwarded
            to the source service; it is not a cap on FAQ question count or
            every section. Supports the 13 catalog regions. Empty content for a
            valid category has zero net charge; nonexistent categories return
            404.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SocialQueryResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          category_id:
                            type: string
                          region:
                            type: string
                          country_code:
                            type: string
                          source:
                            type: string
                          returned_count:
                            type: integer
                            minimum: 0
                          coverage_note:
                            type: string
                          requested_size:
                            type: integer
                            minimum: 0
                          order:
                            type: object
                            properties:
                              mobile:
                                type: array
                                items:
                                  type: string
                              desktop:
                                type: array
                                items:
                                  type: string
                            required:
                              - mobile
                              - desktop
                          faq:
                            anyOf:
                              - type: object
                                properties:
                                  name:
                                    type: string
                                  title:
                                    type: string
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  questions:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        question:
                                          type: string
                                        answer:
                                          type: string
                                      required:
                                        - question
                                        - answer
                                required:
                                  - name
                                  - title
                                  - description
                                  - questions
                              - type: 'null'
                          shopping_tips:
                            anyOf:
                              - type: object
                                properties:
                                  name:
                                    type: string
                                  title:
                                    type: string
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  questions:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        question:
                                          type: string
                                        answer:
                                          type: string
                                      required:
                                        - question
                                        - answer
                                required:
                                  - name
                                  - title
                                  - description
                                  - questions
                              - type: 'null'
                          boards:
                            type: array
                            items:
                              type: object
                              additionalProperties: true
                              description: >-
                                Native public board object. Links and nested
                                fields retain the source format; no tracking URL
                                is invoked.
                          sponsored_products:
                            type: array
                            items:
                              type: object
                              additionalProperties: true
                              description: >-
                                Native public board object. Links and nested
                                fields retain the source format; no tracking URL
                                is invoked.
                          preview_boards:
                            type: array
                            items:
                              type: object
                              additionalProperties: true
                              description: >-
                                Native public board object. Links and nested
                                fields retain the source format; no tracking URL
                                is invoked.
                        required:
                          - category_id
                          - region
                          - country_code
                          - source
                          - returned_count
                          - coverage_note
                          - requested_size
                          - order
                          - faq
                          - shopping_tips
                          - boards
                          - sponsored_products
                          - preview_boards
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '405':
          $ref: '#/components/responses/Error405'
        '409':
          $ref: '#/components/responses/Error409'
        '422':
          $ref: '#/components/responses/Error422'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
        '502':
          $ref: '#/components/responses/Error502'
        '503':
          $ref: '#/components/responses/Error503'
        '504':
          $ref: '#/components/responses/Error504'
components:
  schemas:
    SocialQueryResponse:
      type: object
      required:
        - success
        - platform
        - endpoint
        - credits_used
        - credits_remaining
        - request_id
        - cached
        - data
      properties:
        success:
          type: boolean
          const: true
        platform:
          type: string
        endpoint:
          type: string
        credits_used:
          type: integer
          minimum: 0
        credits_remaining:
          type:
            - integer
            - 'null'
        request_id:
          type: string
        cached:
          type: boolean
        data:
          type: object
          additionalProperties: true
          description: >-
            The selected operation determines the resource fields in this
            object. Source data can omit a metric or report it as null.
    SocialQueryError:
      type: object
      required:
        - success
        - platform
        - endpoint
        - credits_used
        - credits_remaining
        - request_id
        - cached
        - error
      properties:
        success:
          type: boolean
          const: false
        platform:
          type: string
        endpoint:
          type: string
        credits_used:
          type: integer
          minimum: 0
        credits_remaining:
          type:
            - integer
            - 'null'
        request_id:
          type: string
        cached:
          type: boolean
        error:
          type: object
          required:
            - code
            - type
            - message
            - status
            - doc_url
          properties:
            code:
              type: string
            type:
              type: string
            message:
              type: string
            status:
              type: integer
            doc_url:
              type: string
              format: uri
  responses:
    Error400:
      description: Upstream rejected the request.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error401:
      description: Missing, expired, invalid, or revoked API key.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error402:
      description: Insufficient SocialQuery credits.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error403:
      description: Key scope or provider policy denied access.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error404:
      description: Endpoint or upstream resource not found.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error405:
      description: HTTP method is not supported.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error409:
      description: Idempotency conflict or request in progress.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error422:
      description: Invalid parameters.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error429:
      description: Request limit reached.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error500:
      description: Request processing failed.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error502:
      description: Upstream service failed.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error503:
      description: Provider or required service is unavailable.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error504:
      description: Upstream service timed out.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.