---
title: "Retrieve asset download location"
url: "https://earlyaccess.developers.bynder.com/apis/download-api-1/versions/db8ee3be-70cd-48de-aa00-e2e94ab0239a/paths/api-v4-media-id--download/get"
---

> Full API specification: https://earlyaccess.developers.bynder.com/apis/download-api-1/versions/db8ee3be-70cd-48de-aa00-e2e94ab0239a.md

# Retrieve asset download location

`GET` `/api/v4/media/{id}/download`

Retrieve the download location for an asset. __Warning:__ Requires the MEDIAHIGHRES security role. __Warning:__ Requires the ARCHIVEDOWNLOAD security role if the asset in question is archived. __Warning:__ Requires the DOWNLOADWATERMARK security role if the asset in question is watermarked. __Warning:__ Requires the KEYVISUALSDOWNLOAD security role if the asset in question is marked as limited usage.

## Path parameters

- `id` (string, required)

## Query parameters

- `type` (string, optional)

## Responses

- `200` - URL from which you can download the requested asset file.
- `400` - Invalid type
- `404` - Original file not available

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Download API
  version: 1.0.0
servers:
  - url: https://{your-bynder-domain}/
paths:
  /api/v4/media/{id}/download:
    get:
      description: >
        Retrieve the download location for an asset.

        __Warning:__ Requires the MEDIAHIGHRES security role.

        __Warning:__ Requires the ARCHIVEDOWNLOAD security role if the asset in
        question is archived.

        __Warning:__ Requires the DOWNLOADWATERMARK security role if the asset
        in question is watermarked.

        __Warning:__ Requires the KEYVISUALSDOWNLOAD security role if the asset
        in question is marked as limited usage.
      parameters:
        - in: path
          name: id
          required: true
          schema:
            example: 00000000-0000-0000-0000000000000000
            type: string
        - in: query
          name: type
          required: false
          schema:
            default: original
            enum:
              - original
              - additional
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  disclaimer:
                    example: <p>1. The photographs and video in the mediabank are to be used by
                      anyone and everyone.</p>
                    type: string
                  s3_file:
                    example: ___TEMPORARY_DOWNLOAD_URL___
                    type: string
                type: object
          description: URL from which you can download the requested asset file.
        "400":
          content:
            application/json:
              schema:
                properties:
                  message:
                    example: Invalid type
                    type: string
                  statuscode:
                    example: "400"
                    type: string
                type: object
          description: Invalid type
        "404":
          content:
            application/json:
              schema:
                properties:
                  message:
                    example: Original file not available
                    type: string
                  statuscode:
                    example: "404"
                    type: string
                type: object
          description: Original file not available
      summary: Retrieve asset download location
      tags:
        - Media download
security:
  - OAuth2:
      - MEDIAHIGHRES
      - ARCHIVEDOWNLOAD
      - DOWNLOADWATERMARK
      - KEYVISUALSDOWNLOAD
  - permanentToken:
      - MEDIAHIGHRES
      - ARCHIVEDOWNLOAD
      - DOWNLOADWATERMARK
      - KEYVISUALSDOWNLOAD
components:
  securitySchemes:
    OAuth2:
      flows:
        authorizationCode:
          authorizationUrl: https://{your-auth-url}
          scopes:
            ARCHIVEDOWNLOAD: ""
            DOWNLOADWATERMARK: ""
            KEYVISUALSDOWNLOAD: ""
            MEDIAHIGHRES: ""
          tokenUrl: https://{your-bynder-domain}/v6/authentication/oauth2/token
        clientCredentials:
          scopes:
            ARCHIVEDOWNLOAD: ""
            DOWNLOADWATERMARK: ""
            KEYVISUALSDOWNLOAD: ""
            MEDIAHIGHRES: ""
          tokenUrl: https://{your-bynder-domain}/v6/authentication/oauth2/token
      type: oauth2
    permanentToken:
      in: header
      name: Authorization
      type: apiKey
```
