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

# Request on-demand audience discovery for one exact LinkedIn post.

> Resolves the supplied LinkedIn reference to one immutable post, prepares an exact qualification quote, and accepts it as a pipeline-capacity request. Replays with the same idempotency key and payload reuse the durable request. An incompatible replay returns 409.



## OpenAPI

````yaml /api-reference/customer-api-mcp-v1.openapi.yaml post /audience-analytics/linkedin-posts/find-audience
openapi: 3.0.3
info:
  title: traxy Customer API and MCP V1
  version: 1.0.0
  description: >
    Public customer-facing read API, Ordinal Audience Analytics endpoints, and

    remote MCP Streamable HTTP endpoint. Customer REST and Ordinal requests use

    bearer API keys. MCP uses OAuth access tokens issued for the traxy MCP

    resource; Customer API keys are never accepted by MCP. Public REST clients
    must

    not send organizationId. Default API keys cover the general read API.

    Ordinal Audience Analytics is self-serve for paid workspaces and requires

    explicitly selected audience_analytics scopes on the key.

    The MCP surface exposes scope-gated tools through tools/list, including

    agent:read tools for safe automated lead-finding agent visibility. Latest

    MCP protocol version is 2025-11-25.
servers:
  - url: https://api.traxy.ai/api/v1
    description: Production
security:
  - CustomerApiKey: []
tags:
  - name: Customer REST
  - name: Ordinal Audience Analytics
  - name: MCP OAuth
  - name: MCP
paths:
  /audience-analytics/linkedin-posts/find-audience:
    post:
      tags:
        - Ordinal Audience Analytics
      summary: Request on-demand audience discovery for one exact LinkedIn post.
      description: >-
        Resolves the supplied LinkedIn reference to one immutable post, prepares
        an exact qualification quote, and accepts it as a pipeline-capacity
        request. Replays with the same idempotency key and payload reuse the
        durable request. An incompatible replay returns 409.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - postUrn
              additionalProperties: false
              properties:
                postUrn:
                  type: string
                  maxLength: 1024
                  description: >-
                    LinkedIn post URN or `feed/update` URL containing a LinkedIn
                    post URN.
                idempotencyKey:
                  type: string
                  maxLength: 120
      responses:
        '202':
          description: >-
            Discovery is already available, waiting for quote preparation, or
            represented by a durable qualification request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AudienceDiscoveryResponse'
        '400':
          $ref: '#/components/responses/ValidationFailed'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          description: >-
            The full exact quote could not be reserved. No qualification request
            was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/UnresolvedUrn'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - CustomerApiKey:
            - audience_analytics:request
components:
  schemas:
    AudienceDiscoveryResponse:
      type: object
      additionalProperties: false
      required:
        - status
        - postId
      properties:
        status:
          type: string
          enum:
            - queued
            - pending
            - already_available
        postId:
          type: string
          format: uuid
        quoteId:
          type: string
          format: uuid
          nullable: true
          description: Exact quote used for the request, or the quote still being prepared.
        requestId:
          type: string
          format: uuid
          nullable: true
          description: >-
            Durable qualification request. Null only while its quote is still
            preparing.
        audience:
          type: object
          additionalProperties: true
          description: >-
            Aggregate-only audience data, present when analytics are already
            available.
    ErrorEnvelope:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - status
            - request_id
          properties:
            code:
              type: string
              example: invalid_api_key
            message:
              type: string
              example: Invalid API key.
            status:
              type: integer
              example: 401
            request_id:
              type: string
  responses:
    ValidationFailed:
      description: Request failed boundary validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    Unauthorized:
      description: Invalid, expired, or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    NotFound:
      description: Resource not found for the key workspace.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    UnresolvedUrn:
      description: >-
        Malformed or unsupported LinkedIn URN. Valid absent and cross-workspace
        post URNs use NotFound.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    RateLimited:
      description: >-
        Customer API rate limit exceeded or rate-limit enforcement is
        temporarily unavailable. Retry after the delay in Retry-After.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    CustomerApiKey:
      type: http
      scheme: bearer
      bearerFormat: trxy_live_<public_id>_<secret>
      description: >-
        API key created from Integrations > API & MCP > API keys. Used for
        Customer REST and Ordinal Audience Analytics, not MCP OAuth.

````

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