PostHog core API

The core API from PostHog — 182 operation(s) for core.

OpenAPI Specification

posthog-core-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: PostHog actions core API
  version: 1.0.0
  description: ''
tags:
- name: core
paths:
  /api/environments/{environment_id}/dashboards/:
    get:
      operationId: environments_dashboards_list
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - 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
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - dashboard:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDashboardBasicList'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/PaginatedDashboardBasicList'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
      - dashboards
    post:
      operationId: environments_dashboards_create
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dashboard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Dashboard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Dashboard'
      security:
      - PersonalAPIKeyAuth:
        - dashboard:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
      - dashboards
  /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/:
    get:
      operationId: environments_dashboards_sharing_list
      parameters:
      - in: path
        name: dashboard_id
        schema:
          type: integer
        required: true
      - $ref: '#/components/parameters/EnvironmentIdPath'
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - sharing_configuration:read
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SharingConfiguration'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/passwords/:
    post:
      operationId: environments_dashboards_sharing_passwords_create
      description: Create a new password for the sharing configuration.
      parameters:
      - in: path
        name: dashboard_id
        schema:
          type: integer
        required: true
      - $ref: '#/components/parameters/EnvironmentIdPath'
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SharingConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SharingConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SharingConfiguration'
      security:
      - PersonalAPIKeyAuth:
        - sharing_configuration:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharingConfiguration'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/:
    delete:
      operationId: environments_dashboards_sharing_passwords_destroy
      description: Delete a password from the sharing configuration.
      parameters:
      - in: path
        name: dashboard_id
        schema:
          type: integer
        required: true
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: path
        name: password_id
        schema:
          type: string
        required: true
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - sharing_configuration:write
      responses:
        '204':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/refresh/:
    post:
      operationId: environments_dashboards_sharing_refresh_create
      parameters:
      - in: path
        name: dashboard_id
        schema:
          type: integer
        required: true
      - $ref: '#/components/parameters/EnvironmentIdPath'
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SharingConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SharingConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SharingConfiguration'
      security:
      - PersonalAPIKeyAuth:
        - sharing_configuration:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharingConfiguration'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/:
    get:
      operationId: environments_dashboards_retrieve
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: filters_override
        schema:
          type: string
        description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token.
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      - in: query
        name: variables_override
        schema:
          type: string
        description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"<variable_id>": {"code_name": "<code_name>", "variableId": "<variable_id>", "value": <new_value>}}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.'
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - dashboard:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
    put:
      operationId: environments_dashboards_update
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dashboard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Dashboard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Dashboard'
      security:
      - PersonalAPIKeyAuth:
        - dashboard:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
    patch:
      operationId: environments_dashboards_partial_update
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDashboard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDashboard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDashboard'
      security:
      - PersonalAPIKeyAuth:
        - dashboard:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
    delete:
      operationId: environments_dashboards_destroy
      description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - dashboard:write
      responses:
        '405':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/analyze_refresh_result/:
    post:
      operationId: environments_dashboards_analyze_refresh_result_create
      description: 'Generate AI analysis comparing before/after dashboard refresh.

        Expects cache_key in request body pointing to the stored ''before'' state.'
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dashboard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Dashboard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Dashboard'
      responses:
        '200':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/copy_tile/:
    post:
      operationId: environments_dashboards_copy_tile_create
      description: Copy an existing dashboard tile to another dashboard (insight or text card; new tile row).
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyDashboardTileRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CopyDashboardTileRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CopyDashboardTileRequest'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - dashboard:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/move_tile/:
    patch:
      operationId: environments_dashboards_move_tile_partial_update
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDashboard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDashboard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDashboard'
      responses:
        '200':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/reorder_tiles/:
    post:
      operationId: environments_dashboards_reorder_tiles_create
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderTilesRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReorderTilesRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReorderTilesRequest'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - dashboard:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/Dashboard'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/run_insights/:
    get:
      operationId: environments_dashboards_run_insights_retrieve
      description: Run all insights on a dashboard and return their results.
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: filters_override
        schema:
          type: string
        description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token.
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      - in: query
        name: output_format
        schema:
          type: string
          enum:
          - json
          - optimized
        description: '''optimized'' (default) returns LLM-friendly formatted text per insight. ''json'' returns the raw query result objects.'
      - in: query
        name: refresh
        schema:
          type: string
          enum:
          - blocking
          - force_blocking
          - force_cache
        description: Cache behavior. 'force_cache' (default) serves from cache even if stale. 'blocking' uses cache if fresh, otherwise recalculates. 'force_blocking' always recalculates.
      - in: query
        name: variables_override
        schema:
          type: string
        description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"<variable_id>": {"code_name": "<code_name>", "variableId": "<variable_id>", "value": <new_value>}}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.'
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - query:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunInsightsResponse'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/RunInsightsResponse'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/snapshot/:
    post:
      operationId: environments_dashboards_snapshot_create
      description: 'Snapshot the current dashboard state (from cache) for AI analysis.

        Returns a cache_key representing the ''before'' state, to be used with analyze_refresh_result.'
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dashboard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Dashboard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Dashboard'
      responses:
        '200':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/{id}/stream_tiles/:
    get:
      operationId: environments_dashboards_stream_tiles_retrieve
      description: Stream dashboard metadata and tiles via Server-Sent Events. Sends metadata first, then tiles as they are rendered.
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: filters_override
        schema:
          type: string
        description: JSON object to override dashboard filters for this request only (not persisted). Top-level keys replace; nested values are not deep-merged — pass the complete value for any key you override. See the dashboard filters schema for available keys (e.g., `date_from`, `date_to`, `properties`). Ignored when accessed via a dashboard sharing token.
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this dashboard.
        required: true
      - in: query
        name: layoutSize
        schema:
          type: string
          enum:
          - sm
          - xs
        description: Layout size for tile positioning. 'sm' (default) for standard, 'xs' for mobile. The snake_case alias `layout_size` is also accepted for backward compatibility.
      - in: query
        name: variables_override
        schema:
          type: string
        description: 'JSON object to override dashboard variables for this request only (not persisted). Format: {"<variable_id>": {"code_name": "<code_name>", "variableId": "<variable_id>", "value": <new_value>}}. Each entry must include `code_name` — partial entries are silently dropped. The simplest workflow is to call `dashboard-get` first, copy the matching entry from the response''s `variables` field, and mutate `value`. Top-level keys replace; nested values are not deep-merged. Ignored when accessed via a dashboard sharing token.'
      tags:
      - core
      responses:
        '200':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/dashboards/bulk_update_tags/:
    post:
      operationId: environments_dashboards_bulk_update_tags_create
      description: 'Bulk update tags on multiple objects.


        Accepts:

        - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]}


        Actions:

        - "add": Add tags to existing tags on each object

        - "remove": Remove specific tags from each object

        - "set": Replace all tags on each object with the provided list'
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdateTagsRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BulkUpdateTagsRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BulkUpdateTagsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpdateTagsResponse'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/BulkUpdateTagsResponse'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
      - dashboards
  /api/environments/{environment_id}/dashboards/create_from_template_json/:
    post:
      operationId: environments_dashboards_create_from_template_json_create
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dashboard'
      responses:
        '200':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
      - dashboards
  /api/environments/{environment_id}/dashboards/create_unlisted_dashboard/:
    post:
      operationId: environments_dashboards_create_unlisted_dashboard_create
      description: 'Creates an unlisted dashboard from template by tag.

        Enforces uniqueness (one per tag per team).

        Returns 409 if unlisted dashboard with this tag already exists.'
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - txt
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dashboard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Dashboard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Dashboard'
      responses:
        '200':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
      - dashboards
  /api/environments/{environment_id}/exports/:
    get:
      operationId: environments_exports_list
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - 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
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - export:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedExportedAssetList'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
    post:
      operationId: environments_exports_create
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportedAsset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExportedAsset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExportedAsset'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - export:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportedAsset'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/exports/{id}/:
    get:
      operationId: environments_exports_retrieve
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this exported asset.
        required: true
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - export:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportedAsset'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/exports/{id}/content/:
    get:
      operationId: environments_exports_content_retrieve
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this exported asset.
        required: true
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - export:read
      responses:
        '200':
          description: No response body
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/file_system/:
    get:
      operationId: environments_file_system_list
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - 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
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - file_system:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFileSystemList'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
    post:
      operationId: environments_file_system_create
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileSystem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FileSystem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileSystem'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - file_system:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileSystem'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
  /api/environments/{environment_id}/file_system/{id}/:
    get:
      operationId: environments_file_system_retrieve
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this file system.
        required: true
      tags:
      - core
      security:
      - PersonalAPIKeyAuth:
        - file_system:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileSystem'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
    put:
      operationId: environments_file_system_update
      parameters:
      - $ref: '#/components/parameters/EnvironmentIdPath'
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this file system.
        required: true
      tags:
      - core
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileSystem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FileSystem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileSystem'
        required: true
      security:
      - PersonalAPIKeyAuth:
        - file_system:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileSystem'
          description: ''
      deprecated: true
      x-explicit-tags:
      - core
    patch:
      operationId: en

# --- truncated at 32 KB (486 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/posthog/refs/heads/main/openapi/posthog-core-api-openapi.yml