RendezvuDocs
    DocsAPIContent

    Content

    The photos, videos and files in your content library, from host deliverables and your own uploads, with short-lived download URLs.

    ReferenceUpdated 4 min read
    On this page
    • List content
    • Retrieve a download URL

    The content library holds what hosts delivered for your campaigns and what your team uploaded. Files sent inside messages are not part of the API.

    A list item never carries a file URL. Files live in private storage, so you ask for a download URL when you need the file and fetch it within 300 seconds:

    javascript
    const headers = { Authorization: `Bearer ${process.env.RENDEZVU_BRAND_API_KEY}` };
    const base = 'https://api.rendezvu.co';
    
    const list = await fetch(`${base}/api/brand/v1/content?media_type=video&per_page=100`, { headers });
    for (const item of (await list.json()).data) {
      const link = await fetch(`${base}${item.download_path}`, { headers });
      const { url, filename } = (await link.json()).data;
      const file = await fetch(url);
      // Save file.body as filename in your own storage.
    }

    List content#

    GET/api/brand/v1/content

    Files in your content library: deliverables hosts submitted, and files your team uploaded. Items carry a download path rather than a file URL. Files sent in messages are never listed.

    Scopecontent:readListpaginated
    Parameters
    • pageintegeroptionaldefault 1
      The page to return, starting at 1. At most 10,000.
    • per_pageintegeroptionaldefault 25
      Items per page, between 1 and 100.
    • sourcecsv of enumsoptional
      Where the file came from. Both when omitted.
      deliverableupload
    • media_typecsv of enumsoptional
      Only these kinds of file.
      imagevideoaudiodocumentother
    • opportunity_idcsv of stringsoptional
      Only content from these campaigns (up to 50 UUIDs).
    • host_idcsv of stringsoptional
      Only content from these hosts (up to 50 UUIDs).
    • uploaded_afterdateoptional
      Only files added on or after this ISO 8601 date or timestamp.
    • uploaded_beforedateoptional
      Only files added before this ISO 8601 date or timestamp.
    • sortenumoptionaldefault newest
      Order by when the file was added.
      newestoldest
    Returns

    A page of content items. data is an array of objects with these attributes, and the body carries pagination.

    • idstring
      The item id.
    • sourceenum
      deliverable or upload.
    • media_typeenum
      image, video, audio, document or other.
    • filenamestringnullable
      File name.
    • mime_typestringnullable
      MIME type.
    • file_size_bytesintegernullable
      Size in bytes.
    • created_attimestamp
      When the file was added.
    • uploaded_byenum
      Who added it, relative to you: host, brand (your team), or peer_brand (another brand on a shared campaign).
    • hostobjectnullable
      The host the file belongs to.
    • opportunityobjectnullable
      The campaign the file was delivered for.
    • deliverableobjectnullable
      The deliverable the file answers.
    • download_pathstring
      The path to call for a download URL. See Retrieve a download URL.
    curl 'https://api.rendezvu.co/api/brand/v1/content?source=deliverable&media_type=video&per_page=1' \
      -H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"
    Response
    {
      "success": true,
      "data": [
        {
          "id": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
          "source": "deliverable",
          "media_type": "video",
          "filename": "ridgeline-reel-final.mp4",
          "mime_type": "video/mp4",
          "file_size_bytes": 48213990,
          "created_at": "2026-10-03T21:15:08.000Z",
          "uploaded_by": "host",
          "host": {
            "id": "6f1c2a9e-3b4d-4e1f-9a8b-2c7d5e6f7a81",
            "username": "jordanalpine",
            "name": "Jordan Reyes"
          },
          "opportunity": {
            "id": "8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
            "title": "Fall trail series",
            "assignment_id": "f0e1d2c3-b4a5-4968-8776-655443322110",
            "assignment_status": "ACTIVE"
          },
          "deliverable": {
            "id": "d1e2f3a4-b5c6-4d7e-8f9a-0b1c2d3e4f5a",
            "title": "One Instagram reel",
            "due_date": "2026-10-24"
          },
          "download_path": "/api/brand/v1/content/deliverable/e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b/download"
        }
      ],
      "pagination": {
        "page": 1,
        "per_page": 1,
        "total_items": 27,
        "total_pages": 27,
        "has_next": true,
        "has_prev": false
      },
      "_timing": {
        "duration_ms": 42
      }
    }

    Retrieve a download URL#

    GET/api/brand/v1/content/{source}/{item_id}/download

    A signed URL for one file, valid for 300 seconds. The response is JSON, not a redirect, so your code decides when to fetch the file. Ask for a new URL each time; do not store one.

    Scopecontent:read
    Parameters
    • sourceenumrequiredpath
      The item’s source.
      deliverableupload
    • item_idstringrequiredpath
      The item’s id (UUID).
    Returns

    A short-lived URL and the file’s name and type.

    • urlstring
      A signed HTTPS URL for the file.
    • expires_in_secondsinteger
      How long the URL works. Always 300.
    • filenamestringnullable
      File name, for saving.
    • mime_typestringnullable
      MIME type.
    Errors
    • 404Not Found
      No such item in your library, or `source` is not deliverable or upload.
    curl 'https://api.rendezvu.co/api/brand/v1/content/deliverable/e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b/download' \
      -H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"
    Response
    {
      "success": true,
      "data": {
        "url": "https://rendezvu-files.s3.amazonaws.com/deliverables/ridgeline-reel-final.mp4?X-Amz-Expires=300&X-Amz-Signature=...",
        "expires_in_seconds": 300,
        "filename": "ridgeline-reel-final.mp4",
        "mime_type": "video/mp4"
      },
      "_timing": {
        "duration_ms": 42
      }
    }
    Related
    • OpportunitiesYour campaigns with their briefs, compensation, deliverables and every host assignment, so you can track a program from your own systems.
    Was this page helpful?