Skip to main content
POST
/
data-connectors
/
{id}
/
sync
Sync a data connector URI into a file
curl --request POST \
  --url https://api.cloudglue.dev/v1/data-connectors/{id}/sync \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "grain://recording/abc123"
}
'
{
  "id": "<string>",
  "uri": "<string>",
  "bytes": 123,
  "created_at": 123,
  "filename": "<string>",
  "metadata": {},
  "media_info": {
    "duration_seconds": 123,
    "width": 123,
    "height": 123,
    "sample_rate": 123,
    "channels": 123,
    "bitrate": 123,
    "format": "<string>",
    "has_audio": true
  },
  "video_info": {
    "duration_seconds": 123,
    "height": 123,
    "width": 123,
    "format": "<string>",
    "has_audio": true
  },
  "thumbnail_url": "<string>",
  "source_metadata": {
    "grain_recording_id": "<string>",
    "title": "<string>",
    "start_datetime": "2023-11-07T05:31:56Z",
    "end_datetime": "2023-11-07T05:31:56Z",
    "duration_ms": 123,
    "grain_url": "<string>",
    "tags": [
      "<string>"
    ],
    "teams": [
      {
        "id": "<string>",
        "name": "<string>"
      }
    ],
    "thumbnail_url": "<string>",
    "meeting_type": {
      "id": "<string>",
      "name": "<string>",
      "scope": "<string>"
    },
    "participants": [
      {
        "id": "<string>",
        "name": "<string>",
        "email": "<string>",
        "confirmed_attendee": true,
        "hs_contact_id": "<string>"
      }
    ],
    "highlights": [
      {}
    ],
    "ai_summary": {
      "text": "<string>"
    },
    "ai_action_items": [
      {
        "timestamp_ms": 123,
        "text": "<string>",
        "assignee": {
          "id": "<string>",
          "name": "<string>",
          "user_id": "<string>"
        }
      }
    ],
    "ai_template_sections": [
      {}
    ],
    "calendar_event": {
      "ical_uid": "<string>"
    },
    "hubspot": {
      "hubspot_company_ids": [
        "<string>"
      ],
      "hubspot_deal_ids": [
        "<string>"
      ]
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

The ID of the data connector

Body

application/json
url
string
required

Connector URI to sync. Must match the connector's type.

Example:

"grain://recording/abc123"

Response

The synced file

id
string
required

Unique identifier for the file

status
enum<string>
required

Processing status of the file

Available options:
pending,
processing,
completed,
failed,
not_applicable
uri
string
required

Cloudglue URI for the file, to be used in other API calls

bytes
integer | null

Size of the file in bytes, null if not available

created_at
integer

Unix timestamp in milliseconds when the file was created

filename
string

Original filename

metadata
object

User-provided metadata about the file, null if none provided

media_type
enum<string>

Type of media file (video or audio)

Available options:
video,
audio
media_info
object

Unified media information for both video and audio files

video_info
object

Information about the video content

thumbnail_url
string

URL of the thumbnail for the file

source
enum<string>

Source of the file

Available options:
video,
youtube,
s3,
dropbox,
http,
upload,
google-drive,
zoom,
gong,
recall,
gcs,
grain,
loom
source_metadata
object

Source provenance captured from the upstream connector at ingest time. Null when nothing was captured (older files, or a connector that does not yet populate it).