Desktop File

For instructions on how to authenticate to use this endpoint, see API overview.

Endpoints

GET
POST
GET
PATCH
DELETE
PATCH
GET
POST
GET
PATCH
DELETE
GET
POST
POST
POST
GET
POST

List all desktop file system

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:read

Query parameters

  • limit
    integer
  • offset
    integer
  • search
    string

Response


Example request

GET /api/projects/:project_id/desktop_file_system
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"path": "string",
"depth": 0,
"type": "string",
"ref": "string",
"href": "string",
"meta": null,
"shortcut": true,
"created_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z"
}
]
}

Create desktop file system

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:write

Request parameters

  • path
    string
  • type
    string
  • ref
    stringnull
  • href
    stringnull
  • meta
  • shortcut
    booleannull

Response


Example request

POST /api/projects/:project_id/desktop_file_system
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/\
-d path="string"

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"path": "string",
"depth": 0,
"type": "string",
"ref": "string",
"href": "string",
"meta": null,
"shortcut": true,
"created_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z"
}

Retrieve desktop file system

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:read

Path parameters

  • id
    string

Response


Example request

GET /api/projects/:project_id/desktop_file_system/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"path": "string",
"depth": 0,
"type": "string",
"ref": "string",
"href": "string",
"meta": null,
"shortcut": true,
"created_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z"
}

Update desktop file system

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:write

Path parameters

  • id
    string

Request parameters

  • path
    string
  • type
    string
  • ref
    stringnull
  • href
    stringnull
  • meta
  • shortcut
    booleannull

Response


Example request

PATCH /api/projects/:project_id/desktop_file_system/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/\
-d path="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"path": "string",
"depth": 0,
"type": "string",
"ref": "string",
"href": "string",
"meta": null,
"shortcut": true,
"created_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z"
}

Delete desktop file system

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:write

Path parameters

  • id
    string

Example request

DELETE /api/projects/:project_id/desktop_file_system/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/

Example response

Status 204 No response body

Update desktop file system canvas

Publish a new version of a freeform canvas's React source.

Merges into the dashboard row's meta (never replaces it), so existing keys like channelId/templateId survive. Appends a full-file version snapshot and points currentVersionId at it — the server-side mirror of the app's dashboardsService.saveFreeform.

Required API key scopes

file_system:write

Path parameters

  • id
    string

Request parameters

  • code
    string
  • prompt
    string
  • name
    string

Response


Example request

PATCH /api/projects/:project_id/desktop_file_system/:id/canvas
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/canvas/\
-d code="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"path": "string",
"depth": 0,
"type": "string",
"ref": "string",
"href": "string",
"meta": null,
"shortcut": true,
"created_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z"
}

Retrieve desktop file system context generation

Return the Task currently generating this folder's CONTEXT.md, or null if none.

Required API key scopes

file_system:read

Path parameters

  • id
    string

Response


Example request

GET /api/projects/:project_id/desktop_file_system/:id/context_generation
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/context_generation/

Example response

Status 200
RESPONSE
{
"task_id": "736fde4d-9029-4915-8189-01353d6982cb"
}

Create desktop file system count

Get count of all files in a folder.

Required API key scopes

file_system:read

Path parameters

  • id
    string

Request parameters

  • path
    string
  • type
    string
  • ref
    stringnull
  • href
    stringnull
  • meta
  • shortcut
    booleannull

Example request

POST /api/projects/:project_id/desktop_file_system/:id/count
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/count/\
-d path="string"

Example response

Status 200 No response body

Retrieve desktop file system instructions

Return the latest non-deleted instructions for this folder.

Required API key scopes

file_system:read

Path parameters

  • id
    string

Response


Example request

GET /api/projects/:project_id/desktop_file_system/:id/instructions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/instructions/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"content": "string",
"version": 0,
"is_latest": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Update desktop file system instructions

Publish a new version of the folder's instructions.

Required API key scopes

file_system:write

Path parameters

  • id
    string

Request parameters

  • content
    string
  • base_version
    integer

Response


Example request

PATCH /api/projects/:project_id/desktop_file_system/:id/instructions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/instructions/\
-d content="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"content": "string",
"version": 0,
"is_latest": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Delete desktop file system instructions

Soft-delete every version of this folder's instructions.

Required API key scopes

file_system:write

Path parameters

  • id
    string

Example request

DELETE /api/projects/:project_id/desktop_file_system/:id/instructions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/instructions/

Example response

Status 204 No response body

List all desktop file system instructions versions

List the version history for this folder's instructions, newest first.

Required API key scopes

file_system:read

Path parameters

  • id
    string

Query parameters

  • limit
    integer
  • offset
    integer
  • search
    string

Response


Example request

GET /api/projects/:project_id/desktop_file_system/:id/instructions/versions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/instructions/versions/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"version": 0,
"is_latest": true,
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z"
}
]
}

Create desktop file system link

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:write

Path parameters

  • id
    string

Request parameters

  • path
    string
  • type
    string
  • ref
    stringnull
  • href
    stringnull
  • meta
  • shortcut
    booleannull

Example request

POST /api/projects/:project_id/desktop_file_system/:id/link
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/link/\
-d path="string"

Example response

Status 200 No response body

Create desktop file system move

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:write

Path parameters

  • id
    string

Request parameters

  • path
    string
  • type
    string
  • ref
    stringnull
  • href
    stringnull
  • meta
  • shortcut
    booleannull

Example request

POST /api/projects/:project_id/desktop_file_system/:id/move
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/:id/move/\
-d path="string"

Example response

Status 200 No response body

Create desktop file system count by path

Get count of all files in a folder.

Required API key scopes

file_system:read

Request parameters

  • path
    string
  • type
    string
  • ref
    stringnull
  • href
    stringnull
  • meta
  • shortcut
    booleannull

Example request

POST /api/projects/:project_id/desktop_file_system/count_by_path
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/count_by_path/\
-d path="string"

Example response

Status 200 No response body

Retrieve desktop file system log view

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:write

Example request

GET /api/projects/:project_id/desktop_file_system/log_view
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/log_view/

Example response

Status 200 No response body

Create desktop file system log view

The file tree for the desktop product surface. Reuses all FileSystemViewSet behaviour but is scoped to the "desktop" surface, so its tree is fully isolated from the default "web" tree.

Adds per-folder, versioned markdown instructions describing the contents of a folder.

Required API key scopes

file_system:write

Request parameters

  • path
    string
  • type
    string
  • ref
    stringnull
  • href
    stringnull
  • meta
  • shortcut
    booleannull

Example request

POST /api/projects/:project_id/desktop_file_system/log_view
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/desktop_file_system/log_view/\
-d path="string"

Example response

Status 200 No response body

Community questions

Questions about this page? or post a community question.