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

# List judged posts

> What the AI said about each post this signal found, newest first: the verdict, the use-cases it fell into with a reason and the extracted result for each, and the model that answered.

Rejected posts are included by default with the AI's one-sentence reason. That is the tool for sharpening a signal: if good posts are being rejected, the reasons tell you which use-case prompt to widen. Pass `relevant_only=true` for just the posts whose engagers were (or will be) collected.



## OpenAPI

````yaml /reference/openapi.yaml get /v2/linkedin-content-signals/{id}/posts
openapi: 3.1.0
info:
  title: Tamtam Public API
  version: 2.0.0
servers:
  - url: https://api.tamtam.ai/api
security: []
paths:
  /v2/linkedin-content-signals/{id}/posts:
    get:
      tags:
        - LinkedIn Content Signals
      summary: List judged posts
      description: >-
        What the AI said about each post this signal found, newest first: the
        verdict, the use-cases it fell into with a reason and the extracted
        result for each, and the model that answered.


        Rejected posts are included by default with the AI's one-sentence
        reason. That is the tool for sharpening a signal: if good posts are
        being rejected, the reasons tell you which use-case prompt to widen.
        Pass `relevant_only=true` for just the posts whose engagers were (or
        will be) collected.
      operationId: list-linkedin-content-signal-posts
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
        - description: >-
            Target account UUID. Required for staff callers; ignored for
            customer API keys.
          explode: false
          in: query
          name: account_id
          schema:
            description: >-
              Target account UUID. Required for staff callers; ignored for
              customer API keys.
            type: string
        - description: >-
            Only return posts the AI judged relevant. Default false: rejected
            posts come back too, with the reason, which is how you see what the
            prompt is excluding.
          explode: false
          in: query
          name: relevant_only
          schema:
            description: >-
              Only return posts the AI judged relevant. Default false: rejected
              posts come back too, with the reason, which is how you see what
              the prompt is excluding.
            type: boolean
        - description: Maximum posts to return, newest first.
          explode: false
          in: query
          name: limit
          schema:
            default: 50
            description: Maximum posts to return, newest first.
            format: int32
            maximum: 200
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLinkedinContentSignalPostsOutputBody'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
        - apikeyAuth: []
        - bearerAuth: []
components:
  schemas:
    ListLinkedinContentSignalPostsOutputBody:
      additionalProperties: false
      properties:
        posts:
          items:
            $ref: '#/components/schemas/LinkedinContentSignalPostDto'
          type:
            - array
            - 'null'
      required:
        - posts
      type: object
    ErrorModel:
      additionalProperties: false
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    LinkedinContentSignalPostDto:
      additionalProperties: false
      properties:
        analyzed_at:
          description: When the AI judged it.
          format: date-time
          type: string
        analyzed_by_model:
          description: >-
            The model that produced the verdict (gemini-2.5-flash-lite normally,
            gemini-2.5-flash when the cheap model was rate-limited).
          type: string
        author_headline:
          type: string
        author_name:
          type: string
        comment_count:
          format: int32
          type: integer
        content_text:
          description: The post text the AI judged.
          type: string
        engagers_extracted_at:
          description: >-
            When its likers and commenters were collected. Absent for posts not
            judged relevant, or not yet extracted.
          format: date-time
          type: string
        found_at:
          description: When a sweep first saw this post.
          format: date-time
          type: string
        id:
          type: string
        is_relevant:
          description: True when the post fell into at least one use-case.
          type: boolean
        linkedin_post_id:
          description: LinkedIn's activity id for the post.
          format: int64
          type: integer
        matched_use_cases:
          description: >-
            The use-cases this post fell into, each with the AI's reason and the
            extracted result. Empty for a rejected post.
          items:
            $ref: '#/components/schemas/LinkedinContentSignalUseCaseMatchDto'
          type:
            - array
            - 'null'
        post_url:
          type: string
        published_at:
          format: date-time
          type: string
        reaction_count:
          description: Absent when the provider did not report it; not the same as zero.
          format: int32
          type: integer
        relevance_reason:
          description: >-
            For a rejected post, one sentence from the AI grounded in the post
            text on why no use-case applies; for a relevant post, the
            per-use-case reasons summarized. Read these to sharpen the prompts.
          type: string
      required:
        - id
        - linkedin_post_id
        - post_url
        - found_at
        - analyzed_at
        - is_relevant
        - matched_use_cases
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    LinkedinContentSignalUseCaseMatchDto:
      additionalProperties: false
      properties:
        name:
          description: The matched use-case.
          type: string
        reason:
          description: >-
            One sentence from the AI, grounded in the post, on why it falls into
            this use-case.
          type: string
        result:
          description: >-
            Whatever the use-case prompt asked to extract from the post (a
            quote, a figure, a name). Empty when the prompt asked for nothing.
          type: string
      required:
        - name
        - reason
      type: object
  securitySchemes:
    apikeyAuth:
      description: Account API key passed in the Authorization header
      in: header
      name: Authorization
      type: apiKey
    bearerAuth:
      description: Bearer JWT obtained via the OAuth 2.1 authorization flow
      scheme: bearer
      type: http

````