Downloading resources BETA

Read as Markdown 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. If your HTTP library is configured to automatically follow redirects, it will do so and fetch the file directly.

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.