Downloading resources ALPHA

Required plan: Emerging

Meeting Agent resources are commonly discovered as part of a meeting_agent_complete webhook, for example:

POST /notification HTTP/1.1
Host: example.com
Content-Type: application/json; charset=utf-8
Cronofy-HMAC-SHA256: {Base64(HmacSHA256(body_bytes, CLIENT_SECRET))}

{
  "notification": {
    "type": "event_subscription",
    "interactions": [
      {
        "type": "meeting_agent_complete"
      }
    ]
  },
  "event": {
    ...
  },
  "meeting_agent": {
    "sub": "agt_692702a100ccd07000000000",
    "state": "complete",
    "resources": [
      {
        "category": "cronofy",
        "type": "dashboard",
        "url": "https://..."
      },
      {
        "category": "transcript",
        "type": "cronofy",
        "url": "https://..."
      },
      {
        "category": "audio",
        "type": "voice",
        "url": "https://..."
      },
      {
        "category": "video",
        "type": "conference",
        "url": "https://..."
      }
    ]
  }
}

The resources are found under the meeting_agent.resources[] array. Several resources are made available and captured as part of a Meeting Agent’s lifecycle.

CategoryTypeUsageDescription
cronofydashboardBrowserCronofy dashboard URL for the Meeting Agent
transcriptcronofyAPITranscript for the meeting
audiovoiceAPIAudio recording of the meeting
videoconferenceAPIVideo recording of the meeting

Resource download #

For those resources accessible via the API, a GET request is made for the URL provided with an Application Authentication Authorization header:

GET /resource-url-path HTTP/1.1
Host: {resource-url-host}
Authorization: Bearer {API_KEY}

In response, you will receive the details of where the resource can be downloaded in the form of a presigned object storage URL.

This will be present in the Location field and the resource.download_url property of the response body to allow automatic redirects and response body parsing depending on integrator preference.

Example Response #

HTTP/1.1 302 Found
Location: {presigned-object-store-url}
Content-Type: application/json; charset=utf-8

{
  "resource": {
    "category": "transcript",
    "type": "cronofy",
    "url": "{resource-url}",
    "download_url": "{presigned-object-store-url}"
  }
}

Response Parameters #

Location header and resource.download_url required  #

A String for a presigned URL for the file behind the resource, ie. the video file, audio file, or transcript captured by the Meeting Agent.

This URL will not require any authentication.

resource.category required  #

A String representing the category of the resource.

resource.type required  #

A String representing the type of the resource.

resource.url required  #

A String for the URL of the resource within the API.