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

# Record Session Replay Urls

> Store the PostHog replay URL captured by the interviewee's browser.

Called once by the interview session page after the conversation exists and the
replay SDK has bootstrapped. Authenticated by the booking token already used by
other ``/v1/interview/session/{id}/*`` endpoints. Idempotent: a column that is
already populated will not be overwritten, so an accidental re-call does not
clobber a real recording with a later, less interesting one.



## OpenAPI

````yaml /openapi.json post /v1/interview/session/{session_id}/recordings
openapi: 3.1.0
info:
  title: Ontora API
  description: >-
    Ontora's public API. Covers interview campaigns, transcripts, synthesis
    reports, graph queries, webhooks, and workspace management. 


    **Authentication**: endpoints accept either a Clerk JWT (`Authorization:
    Bearer <token>`) or a workspace API key (`X-API-Key: ont_...`). Workspace
    keys are managed via `/v1/api-keys`.
  version: 0.1.0
servers: []
security:
  - ClerkJWT: []
  - WorkspaceApiKey: []
tags:
  - name: interviews
    description: Campaign CRUD, lifecycle, contacts, question sets.
  - name: campaign-insights
    description: Synthesis outputs — cartography, roadmap, personas, conversations.
  - name: interview-query
    description: Graph RAG query over campaign data.
  - name: campaign-reports
    description: Versioned synthesis Reports — manual regenerate, version history.
  - name: interview-export
    description: Markdown / ZIP exports of transcripts and reports.
  - name: api-keys
    description: Manage workspace-scoped API keys for programmatic access.
  - name: webhook-endpoints
    description: Outbound webhook endpoints for automation.
  - name: booking
    description: Public self-scheduling endpoints for interview participants.
  - name: join
    description: Public QR-code / share-link self-registration for campaign participants.
  - name: workspaces
    description: Workspace and membership management.
  - name: vaults
    description: Context vault management.
paths:
  /v1/interview/session/{session_id}/recordings:
    post:
      tags:
        - interview-realtime
      summary: Record Session Replay Urls
      description: >-
        Store the PostHog replay URL captured by the interviewee's browser.


        Called once by the interview session page after the conversation exists
        and the

        replay SDK has bootstrapped. Authenticated by the booking token already
        used by

        other ``/v1/interview/session/{id}/*`` endpoints. Idempotent: a column
        that is

        already populated will not be overwritten, so an accidental re-call does
        not

        clobber a real recording with a later, less interesting one.
      operationId: >-
        record_session_replay_urls_v1_interview_session__session_id__recordings_post
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            title: Session Id
        - name: token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionRecordingsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionRecordingsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    SessionRecordingsRequest:
      properties:
        posthog_recording_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Posthog Recording Url
      type: object
      title: SessionRecordingsRequest
      description: Replay URL captured by the interviewee's browser for admin debugging.
    SessionRecordingsResponse:
      properties:
        posthog_recording_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Posthog Recording Url
      type: object
      required:
        - posthog_recording_url
      title: SessionRecordingsResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ClerkJWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Clerk-issued RS256 JWT.
    WorkspaceApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'Workspace-scoped API key (prefix: `ont_`).'

````