Desktop

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

RESTful API for managing desktop meeting recordings.

Standard CRUD operations plus transcript management as a subresource.

Endpoints

GET
POST
GET
PATCH
DELETE
POST

List all environments desktop recordings

Required API key scopes

desktop_recording:read

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Query parameters

  • limit
    integer

    Number of results to return per page.

  • offset
    integer

    The initial index from which to return the results.


Response


Example request

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

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",
"team": 0,
"created_by": 0,
"sdk_upload_id": "7276e323-83a6-4edf-893f-03d54726eb02",
"recall_recording_id": "08cce185-c34b-4d4f-bb61-49c99f8ccc30",
"platform": "zoom",
"meeting_title": "string",
"meeting_url": "http://example.com",
"duration_seconds": -2147483648,
"status": "recording",
"notes": "string",
"error_message": "string",
"video_url": "http://example.com",
"video_size_bytes": -9223372036854776000,
"participants": [
"string"
],
"transcript_text": "string",
"transcript_segments": [
{
"timestamp": 0.1,
"speaker": "string",
"text": "string",
"confidence": 0.1,
"is_final": true
}
],
"summary": "string",
"extracted_tasks": [
{
"title": "string",
"description": "string",
"assignee": "string"
}
],
"tasks_generated_at": "2019-08-24T14:15:22Z",
"summary_generated_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}

Create environments desktop recordings

Create a new recording and get Recall.ai upload token for the desktop SDK

Required API key scopes

desktop_recording:write

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

  • platform
    Default: desktop_audio

    Meeting platform being recorded

    • zoom - zoom
    • teams - teams
    • meet - meet
    • desktop_audio - desktop_audio
    • slack - slack

Response


Example request

POST /api/environments/:project_id/desktop_recordings
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/environments/:project_id/desktop_recordings/\
-d platform=undefined

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team": 0,
"created_by": 0,
"sdk_upload_id": "7276e323-83a6-4edf-893f-03d54726eb02",
"recall_recording_id": "08cce185-c34b-4d4f-bb61-49c99f8ccc30",
"platform": "zoom",
"meeting_title": "string",
"meeting_url": "http://example.com",
"duration_seconds": -2147483648,
"status": "recording",
"notes": "string",
"error_message": "string",
"video_url": "http://example.com",
"video_size_bytes": -9223372036854776000,
"participants": [
"string"
],
"transcript_text": "string",
"transcript_segments": [
{
"timestamp": 0.1,
"speaker": "string",
"text": "string",
"confidence": 0.1,
"is_final": true
}
],
"summary": "string",
"extracted_tasks": [
{
"title": "string",
"description": "string",
"assignee": "string"
}
],
"tasks_generated_at": "2019-08-24T14:15:22Z",
"summary_generated_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"upload_token": "string"
}

Retrieve environments desktop recordings

Required API key scopes

desktop_recording:read

Path parameters

  • id
    string

    A UUID string identifying this desktop recording.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Response


Example request

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

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team": 0,
"created_by": 0,
"sdk_upload_id": "7276e323-83a6-4edf-893f-03d54726eb02",
"recall_recording_id": "08cce185-c34b-4d4f-bb61-49c99f8ccc30",
"platform": "zoom",
"meeting_title": "string",
"meeting_url": "http://example.com",
"duration_seconds": -2147483648,
"status": "recording",
"notes": "string",
"error_message": "string",
"video_url": "http://example.com",
"video_size_bytes": -9223372036854776000,
"participants": [
"string"
],
"transcript_text": "string",
"transcript_segments": [
{
"timestamp": 0.1,
"speaker": "string",
"text": "string",
"confidence": 0.1,
"is_final": true
}
],
"summary": "string",
"extracted_tasks": [
{
"title": "string",
"description": "string",
"assignee": "string"
}
],
"tasks_generated_at": "2019-08-24T14:15:22Z",
"summary_generated_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Update environments desktop recordings

Required API key scopes

desktop_recording:write

Path parameters

  • id
    string

    A UUID string identifying this desktop recording.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

  • recall_recording_id
    string
  • platform
  • meeting_title
    string
  • meeting_url
    string
  • duration_seconds
    integer
  • status
  • notes
    string
  • error_message
    string
  • video_url
    string
  • video_size_bytes
    integer
  • participants
    array

    List of participant names

  • transcript_segments
    Click to open
    array

    Transcript segments with timestamps

  • summary
    string
  • extracted_tasks
    Click to open
    array

    AI-extracted tasks from transcript

  • tasks_generated_at
    string
  • summary_generated_at
    string
  • started_at
    string
  • completed_at
    string

Response


Example request

PATCH /api/environments/:project_id/desktop_recordings/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/desktop_recordings/:id/\
-d team="integer"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team": 0,
"created_by": 0,
"sdk_upload_id": "7276e323-83a6-4edf-893f-03d54726eb02",
"recall_recording_id": "08cce185-c34b-4d4f-bb61-49c99f8ccc30",
"platform": "zoom",
"meeting_title": "string",
"meeting_url": "http://example.com",
"duration_seconds": -2147483648,
"status": "recording",
"notes": "string",
"error_message": "string",
"video_url": "http://example.com",
"video_size_bytes": -9223372036854776000,
"participants": [
"string"
],
"transcript_text": "string",
"transcript_segments": [
{
"timestamp": 0.1,
"speaker": "string",
"text": "string",
"confidence": 0.1,
"is_final": true
}
],
"summary": "string",
"extracted_tasks": [
{
"title": "string",
"description": "string",
"assignee": "string"
}
],
"tasks_generated_at": "2019-08-24T14:15:22Z",
"summary_generated_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Delete environments desktop recordings

Required API key scopes

desktop_recording:write

Path parameters

  • id
    string

    A UUID string identifying this desktop recording.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Example request

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

Example response

Status 204 No response body

Create environments desktop recordings append segments

Append transcript segments (supports batched real-time streaming)

Required API key scopes

desktop_recording:write

Path parameters

  • id
    string

    A UUID string identifying this desktop recording.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

  • segments
    Click to open
    array

Response


Example request

POST /api/environments/:project_id/desktop_recordings/:id/append_segments
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/environments/:project_id/desktop_recordings/:id/append_segments/\
-d segments="array"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team": 0,
"created_by": 0,
"sdk_upload_id": "7276e323-83a6-4edf-893f-03d54726eb02",
"recall_recording_id": "08cce185-c34b-4d4f-bb61-49c99f8ccc30",
"platform": "zoom",
"meeting_title": "string",
"meeting_url": "http://example.com",
"duration_seconds": -2147483648,
"status": "recording",
"notes": "string",
"error_message": "string",
"video_url": "http://example.com",
"video_size_bytes": -9223372036854776000,
"participants": [
"string"
],
"transcript_text": "string",
"transcript_segments": [
{
"timestamp": 0.1,
"speaker": "string",
"text": "string",
"confidence": 0.1,
"is_final": true
}
],
"summary": "string",
"extracted_tasks": [
{
"title": "string",
"description": "string",
"assignee": "string"
}
],
"tasks_generated_at": "2019-08-24T14:15:22Z",
"summary_generated_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Community questions

Questions about this page? or post a community question.