Skip to content

Media API

Uploads, imports and the media library.

4 endpoints. Every path is relative to the API base URL and needs a bearer token unless it is marked public. See the REST API overview for authentication, errors and pagination.

GET/v1/orgs/{orgId}/marketing/media

Bearer tokenMCP tool: list_media

Lists the workspace's media library, newest first: files uploaded or imported, and on-brand visuals (branded images, carousels and app screenshots) rendered for it.

Path parameters

  • orgIdstring (uuid)required

Query parameters

  • collectionstring

    one of all, uploads, on_brand

  • kindstring

    one of all, image, video, carousel

  • pageinteger
  • limitinteger

Responses

200Lists the workspace's media library, newest first: files uploaded or imported, and on-brand visuals (branded images, carousels and app screenshots) rendered for it.
  • dataobjectrequired
    Fields
    • itemsarray<object>required
      Item fields
      • idstring (uuid)required
      • sourcestringrequired

        one of upload, import, branded_image, carousel, screenshot

      • assetobjectrequired
        Option 1
        • kind"image"required
        • assetIdstring (uuid)required
        • urlstring (uri)required
        • contentTypestringrequired
        • sizeBytesintegerrequired
        • widthinteger
        • heightinteger
        • altTextstring
        Option 2
        • kind"images"required
        • imagesarray<object>required
          Item fields
          • assetIdstring (uuid)required
          • urlstring (uri)required
          • contentTypestringrequired
          • sizeBytesintegerrequired
          • widthinteger
          • heightinteger
          • altTextstring
        Option 3
        • kind"document"required
        • assetIdstring (uuid)required
        • urlstring (uri)required
        • contentType"application/pdf"required
        • sizeBytesintegerrequired
        • titlestringrequired
        • pageCountinteger
        • previewImageUrlsarray<string (uri)>
        Option 4
        • kind"video"required
        • assetIdstring (uuid)required
        • urlstring (uri)required
        • contentTypestringrequired
        • sizeBytesintegerrequired
        • durationSecondsnumberrequired
        • widthintegerrequired
        • heightintegerrequired
      • previewUrlstring (uri) | nullrequired
      • titlestring | nullrequired
      • formatstring | nullrequired
      • aiGeneratedbooleanrequired
      • sizeBytesintegerrequired
      • createdAtstringrequired
    • pageintegerrequired
    • limitintegerrequired
    • totalintegerrequired
    • hasMorebooleanrequired
    • countsobjectrequired
      Fields
      • allintegerrequired
      • uploadsintegerrequired
      • onBrandintegerrequired
Request
curl -X GET "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/media" \
-H "Authorization: Bearer $ADVENTURAI_TOKEN"

POST/v1/orgs/{orgId}/marketing/media/{assetId}/complete

Bearer tokenMCP tool: complete_media_upload

Finalize a scheduler media upload after the client PUTs it to S3. For MP4 and MOV video the length and frame size are read from the file.

Path parameters

  • orgIdstring (uuid)required
  • assetIdstring (uuid)required

Request body application/json

  • keystringrequired
  • kindstringrequired

    one of image, video

  • contentTypestringrequired
  • durationSecondsnumber
  • widthinteger
  • heightinteger

Responses

200Finalize a scheduler media upload after the client PUTs it to S3. For MP4 and MOV video the length and frame size are read from the file.
  • dataobjectrequired
    Fields
    • assetobjectrequired
      Option 1
      • kind"image"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentTypestringrequired
      • sizeBytesintegerrequired
      • widthinteger
      • heightinteger
      • altTextstring
      Option 2
      • kind"images"required
      • imagesarray<object>required
        Item fields
        • assetIdstring (uuid)required
        • urlstring (uri)required
        • contentTypestringrequired
        • sizeBytesintegerrequired
        • widthinteger
        • heightinteger
        • altTextstring
      Option 3
      • kind"document"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentType"application/pdf"required
      • sizeBytesintegerrequired
      • titlestringrequired
      • pageCountinteger
      • previewImageUrlsarray<string (uri)>
      Option 4
      • kind"video"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentTypestringrequired
      • sizeBytesintegerrequired
      • durationSecondsnumberrequired
      • widthintegerrequired
      • heightintegerrequired
Request
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/media/$ASSET_ID/complete" \
-H "Authorization: Bearer $ADVENTURAI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key":"string","kind":"image","contentType":"string"}'

POST/v1/orgs/{orgId}/marketing/media/import

Bearer tokenMCP tool: import_media_from_url

Copy an image or video from a public https link into the workspace so it can be attached to posts.

Path parameters

  • orgIdstring (uuid)required

Request body application/json

  • urlstring (uri)required
  • altTextstring

Responses

200Copy an image or video from a public https link into the workspace so it can be attached to posts.
  • dataobjectrequired
    Fields
    • assetobjectrequired
      Option 1
      • kind"image"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentTypestringrequired
      • sizeBytesintegerrequired
      • widthinteger
      • heightinteger
      • altTextstring
      Option 2
      • kind"images"required
      • imagesarray<object>required
        Item fields
        • assetIdstring (uuid)required
        • urlstring (uri)required
        • contentTypestringrequired
        • sizeBytesintegerrequired
        • widthinteger
        • heightinteger
        • altTextstring
      Option 3
      • kind"document"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentType"application/pdf"required
      • sizeBytesintegerrequired
      • titlestringrequired
      • pageCountinteger
      • previewImageUrlsarray<string (uri)>
      Option 4
      • kind"video"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentTypestringrequired
      • sizeBytesintegerrequired
      • durationSecondsnumberrequired
      • widthintegerrequired
      • heightintegerrequired
Request
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/media/import" \
-H "Authorization: Bearer $ADVENTURAI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'

POST/v1/orgs/{orgId}/marketing/media/upload-url

Bearer tokenMCP tool: create_media_upload

Get a presigned URL to upload a scheduler post's image or video asset.

Path parameters

  • orgIdstring (uuid)required

Request body application/json

  • kindstringrequired

    one of image, video

  • contentTypestringrequired

Responses

200Get a presigned URL to upload a scheduler post's image or video asset.
  • dataobjectrequired
    Fields
    • assetIdstring (uuid)required
    • uploadUrlstringrequired
    • keystringrequired
    • expiresInSecondsnumberrequired
    • method"PUT"required
    • requiredHeadersobjectrequired
Request
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/media/upload-url" \
-H "Authorization: Bearer $ADVENTURAI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"kind":"image","contentType":"string"}'