Bazaarvoice Upload API

The Upload API from Bazaarvoice — 3 operation(s) for upload.

Operations 3

POST /v1/upload/{dataSourceId} Upload media items
POST /v1/upload/{dataSourceId}/submit Submits uploaded content
GET /v1/upload/{dataSourceId}/video-status/{videoId} Check on transcode job status for a given video

Documentation

📖
APIReference
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/reference/get_data-reviews-json
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/docs/display-overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/reference/conversations-submit-review-reference
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ConversationsAPI/docs/submission-overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-ResponseAPI/reference/getclientresponse
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ResponseAPI/docs/overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-ResponseAPI/reference/countresponsesforreviews
📖
Documentation
https://developers.bazaarvoice.com/v1.0-ResponseAPI/reference/countresponsesforreviews
📖
APIReference
https://developers.bazaarvoice.com/v1.0-NotificationsAPI/reference/notifications-get-opt-in-email
📖
Documentation
https://developers.bazaarvoice.com/v1.0-NotificationsAPI/docs/notifications-subscription-api
📖
APIReference
https://developers.bazaarvoice.com/v1.0-TransactionsAPI/reference/ingesttransaction
📖
Documentation
https://developers.bazaarvoice.com/v1.0-TransactionsAPI/docs/overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-SentimentsAPI/reference/gettopfeaturequotes
📖
Documentation
https://developers.bazaarvoice.com/v1.0-SentimentsAPI/docs/overview
📖
APIReference
https://developers.bazaarvoice.com/v1.0-SocialCommerceAPI/docs/api-endpoints
📖
Documentation
https://developers.bazaarvoice.com/v1.0-SocialCommerceAPI/docs/introduction
📖
APIReference
https://developers.bazaarvoice.com/v1.0-AuthenticDiscoveryAPI/reference/getstructureddata
📖
Documentation
https://developers.bazaarvoice.com/v1.0-AuthenticDiscoveryAPI/docs/home
📖
APIReference
https://developers.bazaarvoice.com/v1.0-DCE/reference/dce-request-manifest-file-list
📖
Documentation
https://developers.bazaarvoice.com/v1.0-DCE/docs/home
📖
APIReference
https://developers.bazaarvoice.com/v1.0-PS-Export/reference/ps-export-request-manifest-file-list-reference
📖
Documentation
https://developers.bazaarvoice.com/v1.0-PS-Export/docs/home

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bazaarvoice-upload-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bazaarvoice-upload-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Media Upload API
  description: Curalate Media API
  version: V1
servers:
- url: https://edge.curalate.com
tags:
- name: Upload
paths:
  /v1/upload/{dataSourceId}:
    post:
      tags:
      - Upload
      summary: Upload media items
      parameters:
      - name: dataSourceId
        in: path
        required: true
        schema:
          type: string
          example: DKQGLerBTQCDXwNS
          x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
        x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                mediaItem:
                  type: string
                  format: binary
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadResponse'
        '400':
          description: The input parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '404':
          description: A requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '500':
          description: An unhandled exception has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '503':
          description: API is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
  /v1/upload/{dataSourceId}/submit:
    post:
      tags:
      - Upload
      summary: Submits uploaded content
      parameters:
      - name: dataSourceId
        in: path
        required: true
        schema:
          type: string
          example: DKQGLerBTQCDXwNS
          x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
        x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitMediaRequestBody'
        required: false
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitMediaResponse'
        '400':
          description: The input parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '404':
          description: A requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '500':
          description: An unhandled exception has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '503':
          description: API is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
      x-codegen-request-body-name: body
  /v1/upload/{dataSourceId}/video-status/{videoId}:
    get:
      tags:
      - Upload
      summary: Check on transcode job status for a given video
      parameters:
      - name: dataSourceId
        in: path
        required: true
        schema:
          type: string
          example: DKQGLerBTQCDXwNS
          x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
        x-qualified-classname: com.curalate.datasourcemanagement.model.api.v1.DataSourceId
      - name: videoId
        in: path
        required: true
        schema:
          type: string
          example: EQEUI7bMI4nzMXM9hFKQ3gnQib5sLzez-dvyNk81Cf0=
          x-qualified-classname: com.curalate.global.model.types.video.VideoId
        x-qualified-classname: com.curalate.global.model.types.video.VideoId
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVideoStatusResponse'
        '400':
          description: The input parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '404':
          description: A requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '500':
          description: An unhandled exception has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
        '503':
          description: API is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPayload'
components:
  schemas:
    SubmittedMedia:
      required:
      - type
      type: object
      properties:
        type:
          type: string
          enum:
          - Image
          - Video
        curalateMediaId:
          type: string
        url:
          type: string
          format: url
        posterUrl:
          type: string
          format: url
        caption:
          type: string
    UploadData:
      required:
      - images
      - videos
      type: object
      properties:
        images:
          type: array
          items:
            $ref: '#/components/schemas/NetworkPhoto'
        videos:
          type: array
          items:
            $ref: '#/components/schemas/UploadVideoResponse'
    VideoProcessingVideo:
      required:
      - posterFileId
      - versions
      - videoId
      type: object
      properties:
        videoId:
          type: string
        posterFileId:
          type: string
        duration:
          type: integer
          format: int64
        versions:
          type: array
          items:
            $ref: '#/components/schemas/VideoProcessingVersion'
    ErrorPayload:
      required:
      - code
      - errorId
      type: object
      properties:
        code:
          type: string
          enum:
          - Unknown
          - MediaApiBadRequest
          - InvalidInput
        errorId:
          type: string
          format: uuid
        msg:
          type: string
        data:
          type: object
          properties: {}
    Image:
      required:
      - link
      type: object
      properties:
        link:
          type: string
    MediaApiMetadata:
      required:
      - traceId
      type: object
      properties:
        traceId:
          type: string
        requestId:
          type: string
        firstPartyCuid:
          type: string
        curalateUserId:
          type: string
        customCuralateUserId:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.CustomCuralateUserId
        pdpMetadata:
          $ref: '#/components/schemas/PdpMetadata'
    NetworkPhoto:
      required:
      - extraLarge
      - extraLargeSquare
      - id
      - large
      - largeSquare
      - medium
      - mediumSquare
      - original
      - small
      - smallSquare
      type: object
      properties:
        id:
          type: string
        original:
          $ref: '#/components/schemas/Image'
        small:
          $ref: '#/components/schemas/Image'
        medium:
          $ref: '#/components/schemas/Image'
        large:
          $ref: '#/components/schemas/Image'
        extraLarge:
          $ref: '#/components/schemas/Image'
        smallSquare:
          $ref: '#/components/schemas/Image'
        mediumSquare:
          $ref: '#/components/schemas/Image'
        largeSquare:
          $ref: '#/components/schemas/Image'
        extraLargeSquare:
          $ref: '#/components/schemas/Image'
        type:
          type: string
    VideoProcessingVersion:
      required:
      - height
      - quality
      - url
      - width
      type: object
      properties:
        quality:
          type: string
          enum:
          - Original
          - FullHD
          - Standard
          - Low
          - VerticalVideo1500FitPad
          - VerticalVideo1500FillPad
          - VerticalVideo1500Pad
          - Unknown
        url:
          type: string
        width:
          type: integer
          format: int32
        height:
          type: integer
          format: int32
        chaptersInMillis:
          type: array
          items:
            type: integer
            format: int64
    SubmitMediaResponse:
      required:
      - metadata
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/MediaApiMetadata'
    UploadResponse:
      required:
      - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/UploadData'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/UploadError'
    UploadError:
      required:
      - message
      - multipartItemName
      type: object
      properties:
        multipartItemName:
          type: string
        fileName:
          type: string
        message:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.ErrorMessage
    SubmitMediaRequestBody:
      required:
      - emailAddress
      - emailOptIn
      - media
      - mediaContainerId
      - mediaContainerType
      type: object
      properties:
        mediaContainerType:
          type: string
          enum:
          - Like2Buy
          - Fanreel
          - Reveal
          - All
          - DynamicLandingPage
          - Like2BuyV2
        mediaContainerId:
          type: string
        displayName:
          type: string
        emailAddress:
          type: string
        emailOptIn:
          type: boolean
        media:
          type: array
          items:
            $ref: '#/components/schemas/SubmittedMedia'
        additionalData:
          type: object
          additionalProperties:
            type: object
            properties: {}
    PdpMetadata:
      type: object
      properties:
        curalateProductId:
          type: string
        curalateStyleId:
          type: string
    VideoProcessingStatusData:
      required:
      - video
      type: object
      properties:
        video:
          $ref: '#/components/schemas/VideoProcessingVideo'
    UploadVideoResponse:
      required:
      - id
      type: object
      properties:
        id:
          type: string
          x-qualified-classname: com.curalate.global.model.types.video.VideoId
    GetVideoStatusResponse:
      required:
      - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/VideoProcessingStatusData'
  securitySchemes:
    ApiKey:
      type: apiKey
      name: X-Curalate-Api-Key
      in: header