PostHog legal_documents API

The legal_documents API from PostHog — 3 operation(s) for legal_documents.

OpenAPI Specification

posthog-legal-documents-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: PostHog actions legal_documents API
  version: 1.0.0
  description: ''
tags:
- name: legal_documents
paths:
  /api/organizations/{organization_id}/legal_documents/:
    get:
      operationId: legal_documents_list
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - $ref: '#/components/parameters/OrganizationIdPath'
      tags:
      - legal_documents
      security:
      - PersonalAPIKeyAuth:
        - legal_document:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLegalDocumentDTOList'
          description: ''
      x-explicit-tags:
      - core
      - legal_documents
    post:
      operationId: legal_documents_create
      parameters:
      - $ref: '#/components/parameters/OrganizationIdPath'
      tags:
      - legal_documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLegalDocument'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateLegalDocument'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateLegalDocument'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - legal_document:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegalDocumentDTO'
          description: ''
      x-explicit-tags:
      - core
      - legal_documents
  /api/organizations/{organization_id}/legal_documents/{id}/:
    get:
      operationId: legal_documents_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      - $ref: '#/components/parameters/OrganizationIdPath'
      tags:
      - legal_documents
      security:
      - PersonalAPIKeyAuth:
        - legal_document:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegalDocumentDTO'
          description: ''
      x-explicit-tags:
      - core
  /api/organizations/{organization_id}/legal_documents/{id}/download/:
    get:
      operationId: legal_documents_download_retrieve
      description: 'Short-lived redirect to the signed PDF in object storage. 404 while the

        envelope is still out for signature (or if the upload hasn''t completed

        yet). The underlying presigned URL expires in ~60s; clients should hit

        this endpoint each time they want to view the PDF rather than caching.'
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      - $ref: '#/components/parameters/OrganizationIdPath'
      tags:
      - legal_documents
      responses:
        '302':
          description: No response body
        '404':
          description: No response body
      x-explicit-tags:
      - core
components:
  schemas:
    LegalDocumentDTO:
      type: object
      description: Output serializer — what the API returns for every row.
      properties:
        id:
          type: string
          format: uuid
        document_type:
          type: string
        company_name:
          type: string
        representative_email:
          type: string
        status:
          type: string
        created_by:
          allOf:
          - $ref: '#/components/schemas/LegalDocumentCreator'
          nullable: true
        created_at:
          type: string
          format: date-time
      required:
      - company_name
      - created_at
      - created_by
      - document_type
      - id
      - representative_email
      - status
    CreateLegalDocument:
      type: object
      description: 'Input serializer for POST. Mirrors the submittable fields on the model plus

        cross-field rules (BAA addon, DPA mode, uniqueness). The view supplies the

        organization and submitting user.'
      properties:
        document_type:
          allOf:
          - $ref: '#/components/schemas/DocumentTypeEnum'
          description: 'Either ''BAA'' or ''DPA''.


            * `BAA` - BAA

            * `DPA` - DPA'
        company_name:
          type: string
          description: The customer legal entity entering the agreement (PandaDoc's Client.Company).
          maxLength: 255
        company_address:
          type: string
          description: The customer address (PandaDoc's Client.StreetAddress).
          maxLength: 512
        representative_email:
          type: string
          format: email
          description: Email the signed PandaDoc envelope is sent to (PandaDoc's Client.Email).
      required:
      - company_address
      - company_name
      - document_type
      - representative_email
    LegalDocumentCreator:
      type: object
      properties:
        first_name:
          type: string
        email:
          type: string
      required:
      - email
      - first_name
    PaginatedLegalDocumentDTOList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/LegalDocumentDTO'
    DocumentTypeEnum:
      enum:
      - BAA
      - DPA
      type: string
      description: '* `BAA` - BAA

        * `DPA` - DPA'
  parameters:
    OrganizationIdPath:
      in: path
      name: organization_id
      required: true
      schema:
        type: string
      description: ID of the organization you're trying to access. To find the ID of the organization, make a call to /api/organizations/.
  securitySchemes:
    PersonalAPIKeyAuth:
      type: http
      scheme: bearer
x-tagGroups:
- name: All endpoints
  tags:
  - LLM Analytics
  - actions
  - activity_log
  - activity_logs
  - advanced_activity_logs
  - alerts
  - annotations
  - approval_policies
  - batch_exports
  - cdp
  - change_requests
  - code
  - code-invites
  - cohorts
  - comments
  - conversations
  - core
  - customer_analytics
  - customer_journeys
  - customer_profile_configs
  - dashboard_templates
  - dashboards
  - data_color_themes
  - data_modeling_jobs
  - data_warehouse
  - dataset_items
  - datasets
  - desktop_recordings
  - domains
  - early_access_feature
  - early_access_features
  - elements
  - endpoints
  - environments
  - error_tracking
  - evaluation_runs
  - evaluations
  - event_definitions
  - event_filter
  - event_schemas
  - events
  - experiment_holdouts
  - experiment_saved_metrics
  - experiments
  - exports
  - external_data_schemas
  - external_data_sources
  - feature_flags
  - file_system
  - file_system_shortcut
  - flag_value
  - groups
  - groups_types
  - health_issues
  - heatmap_screenshots
  - heatmaps
  - hog_flows
  - hog_function_templates
  - hog_functions
  - insight_variables
  - insights
  - integrations
  - invites
  - js-snippet
  - legal_documents
  - lineage
  - live_debugger_breakpoints
  - llm_analytics
  - llm_prompts
  - llm_skills
  - logs
  - managed_viewsets
  - max
  - max_tools
  - mcp_server_installations
  - mcp_servers
  - mcp_store
  - mcp_tools
  - members
  - notebooks
  - oauth_applications
  - object_media_previews
  - organizations
  - persisted_folder
  - persons
  - platform_features
  - plugin_configs
  - product_analytics
  - product_tours
  - project_secret_api_keys
  - projects
  - property_definitions
  - proxy_records
  - public_hog_function_templates
  - query
  - replay
  - reverse_proxy
  - role_external_references
  - roles
  - sandbox-environments
  - sandbox_environments
  - saved
  - schema_property_groups
  - sdk_doctor
  - session_group_summaries
  - session_recording_playlists
  - session_recordings
  - session_summaries
  - sessions
  - signals
  - subscriptions
  - surveys
  - taggers
  - task-automations
  - task-runs
  - task_automations
  - tasks
  - uploaded_media
  - user_home_settings
  - user_interviews
  - users
  - visual_review
  - warehouse_dag
  - warehouse_model_paths
  - warehouse_saved_queries
  - warehouse_saved_query_folders
  - warehouse_tables
  - warehouse_view_link
  - warehouse_view_links
  - web_analytics
  - web_experiments
  - web_vitals
  - welcome
  - workflows