Bazaarvoice Social Commerce Display (Media) API

The Social Commerce Display API serves visual user-generated content - gallery media, top images, recommendations, Instagram and Facebook sourcing, media upload and reporting, and Schema.org structured data for galleries. Bazaarvoice's own Social Commerce documentation states that all endpoints are served from edge.curalate.com, the platform of Curalate, the visual-commerce company Bazaarvoice acquired; the API still authenticates with an X-Curalate-Api-Key header.

OpenAPI Specification

bazaarvoice-social-commerce-media-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Media API
  description: Curalate Media API
  version: V1
servers:
- url: https://edge.curalate.com
paths:
  /v1/media/{dataSourceId}:
    get:
      tags:
      - Media
      summary: Get media
      description: Gets media items for a data source
      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: filter
        in: query
        schema:
          type: string
          example: productId:leather-jacket
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - Latest
          - Likes
          - Moderation
          - Optimized
          - LastUpdated
      - name: limit
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: before
        in: query
        schema:
          type: string
          example: 6ca1a4ad-fb10-41fa-abab-78531a80531e_1487593595790
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: after
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: offset
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: locale
        in: query
        schema:
          type: string
          example: en-US
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
      - name: productMetadata
        in: query
        schema:
          type: string
          example: age,gender
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
      - name: requireProduct
        in: query
        schema:
          type: boolean
          example: true
      - name: parameterizeProducts
        in: query
        schema:
          type: boolean
          default: false
      - name: appId
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
      - name: networkSource
        in: query
        schema:
          type: string
          enum:
          - Pinterest
          - Facebook
          - Instagram
          - Twitter
          - Tumblr
          - Snapchat
          - TikTok
          - YouTube
          - MediaImport
          example: Instagram
      - name: noExpired
        in: query
        schema:
          type: boolean
          default: false
      - name: skipMetrics
        in: query
        schema:
          type: boolean
          example: true
      - name: showRatings
        in: query
        schema:
          type: boolean
          default: false
      - name: rid
        in: query
        description: Request id used to identify items within a single request
        schema:
          type: string
      - name: src
        in: query
        description: Source url of the requesting content
        schema:
          type: string
      - name: fpcuid
        in: query
        description: First party cookie id of the requesting user
        schema:
          type: string
      - name: eid
        in: query
        description: Experiment id for the user's experiment
        schema:
          type: string
      - name: vid
        in: query
        description: Variation id for the user's experiment
        schema:
          type: string
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMediaResponse'
        '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/media/{dataSourceId}/items/{itemId}:
    get:
      tags:
      - Media
      summary: Get media item
      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: itemId
        in: path
        required: true
        schema:
          type: string
          example: fe502c92-e9b5-45ee-ad3a-429c1e94f9c4
          x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
        x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
      - name: productMetadata
        in: query
        schema:
          type: string
          example: age,gender
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.ProductMetadataQuery
      - name: parameterizeProducts
        in: query
        schema:
          type: boolean
          default: false
      - name: locale
        in: query
        schema:
          type: string
          example: en-US
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.LocaleString
      - name: appId
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
      - name: noExpired
        in: query
        schema:
          type: boolean
          default: false
      - name: showRatings
        in: query
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMediaItemResponse'
        '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/media/{dataSourceId}/items/{itemId}/recommendations:
    get:
      tags:
      - Media
      summary: Get media item recommendations
      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: itemId
        in: path
        required: true
        schema:
          type: string
          example: fe502c92-e9b5-45ee-ad3a-429c1e94f9c4
          x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
        x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
      - name: limit
        in: query
        schema:
          type: integer
          format: int32
          example: 10
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRecommendedMediaResponse'
        '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/media/{dataSourceId}/images/top:
    get:
      tags:
      - Media
      summary: Get top media image for a data source
      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: offset
        in: query
        schema:
          type: integer
          format: int32
          example: 10
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - Latest
          - Likes
          - Moderation
          - Optimized
          - LastUpdated
      - name: filter
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.FilterQuery
      - name: fallbackImage
        in: query
        schema:
          type: string
      - name: width
        in: query
        schema:
          type: integer
          format: int32
          example: 400
      - name: height
        in: query
        schema:
          type: integer
          format: int32
          example: 400
      - name: appId
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.AppId
      - name: networkSource
        in: query
        schema:
          type: string
          enum:
          - Pinterest
          - Facebook
          - Instagram
          - Twitter
          - Tumblr
          - Snapchat
          - TikTok
          - MediaImport
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            image/*: {}
        '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/media/report/{dataSourceId}/items/{itemId}:
    post:
      tags:
      - Report
      summary: Allows end users to report media
      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: itemId
        in: path
        required: true
        schema:
          type: string
          example: fe502c92-e9b5-45ee-ad3a-429c1e94f9c4
          x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
        x-qualified-classname: com.curalate.services.deets.model.api.v1.DeetsItemId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportMediaRequestBody'
        required: false
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportMediaResponse'
        '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}:
    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'
  /v1/instagram/media:
    get:
      tags:
      - Instagram
      summary: Retrieve Instagram media items for the user
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
        x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
      - name: limit
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: before
        in: query
        schema:
          type: string
          example: '1234567894561231236_33215652'
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: after
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInstagramMediaResponse'
        '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/facebook/media:
    get:
      tags:
      - Facebook
      summary: Retrieve Facebook media items for the user
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
        x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
      - name: limit
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: before
        in: query
        schema:
          type: string
          example: '10152364594836729'
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: after
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFacebookMediaResponse'
        '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/facebook/albums:
    get:
      tags:
      - Facebook
      summary: Retrieve Facebook media items for the user
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
        x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
      - name: limit
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: before
        in: query
        schema:
          type: string
          example: '10152364594836729'
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: after
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFacebookAlbumsResponse'
        '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/facebook/albums/{albumId}/media:
    get:
      tags:
      - Facebook
      summary: Retrieve Facebook media items from the specified album
      parameters:
      - name: albumId
        in: path
        required: true
        schema:
          type: string
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
        x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
      - name: limit
        in: query
        schema:
          type: integer
          format: int64
          example: 10
      - name: before
        in: query
        schema:
          type: string
          example: '10152364594836729'
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      - name: after
        in: query
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
        x-qualified-classname: com.curalate.mediaapi.model.api.v1.BookmarkQuery
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFacebookMediaResponse'
        '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/facebook/auth/{accessToken}/validation:
    get:
      tags:
      - Facebook
      summary: Validate a Facebook OAuth token
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
        x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidTokenResponse'
        '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/instagram/auth/{accessToken}/validation:
    get:
      tags:
      - Instagram
      summary: Validate an Instagram OAuth token
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
        x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthAccessToken
      responses:
        '200':
          description: The operation completed successfully and yielded results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidTokenResponse'
        '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/instagram/auth/{code}/exchange:
    get:
      tags:
      - Instagram
      summary: Exchange an Instagram auth code for a long-life token
      parameters:
      - name: code
        in: path
        required: true
        schema:
          type: string
          x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthCode
        x-qualified-classname: com.curalate.mediaapi.service.upload.model.oauth.OAuthCode
      - name: redirectUri
        in: query
        schema:
          type: string
      response

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bazaarvoice/refs/heads/main/openapi/bazaarvoice-social-commerce-media-openapi.yml